Nick Coghlan wrote: > Re-using 'global' wasn't popular because it would actually be > *wrong* for the new semantics
On Wed, 11 Oct 2006, Greg Ewing wrote: > I don't agree that it's wrong -- it's perfectly > legitimate to regard "local" and "global" as > relative terms, i.e. anything not local to you > is global from your point of view. It is possible to think of those terms in that way, but in this context, i disagree. I don't believe this is what any programmer means when they say "global variable". Consider the following example: def spam(x): def eggs(): global x x = x + 1 eggs() print x In today's Python, eggs() affects the global variable x; with the new meaning for "global", it instead affects the x local to spam(). Here are two arguments against redefining the "global" keyword: 1. Notice that changing "global" to mean "don't create a new binding" changes the meaning of the above code incompatibly. 2. With the new meaning for "global", what is x? Is x a "global variable"? I just can't imagine calling it that. It doesn't make sense to use the keyword "global" to declare something that is clearly not a global variable. -- ?!ng _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com