Ka-Ping Yee wrote:
> Would it help at all to survey some folks to see how many interpret
> "global variable" to mean "top-level" vs. "anything nonlocal"?
Steven Bethard wrote:
> I don't think that'll really be worth it. I'd be amazed if people
> didn't expect it to mean "top-level".
If that's as obvious to you as it is to me, i don't understand why
there's still any question. I've never heard of a programming
language or conversation about programming where "global variable"
means a variable bound in an outer enclosing function; it always
means a variable bound outside of any functions (Wikipedia: "a
variable that does not belong to any subroutine or class").
> The real question is, if people see something like this::
[...]
> what would they expect it to do?
I think a fairer survey example would be something like this:
n = 1
def f():
n = 2
def g():
global n = 99
return n
g()
f()
print n
Which 'n' do you expect g() to change?
(My answer: the global n. That's what it says: "global n".
Which n is global? Clearly the first one.)
-- ?!ng
_______________________________________________
Python-3000 mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe:
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com