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
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

Reply via email to