Variable Scope
Jens Thiede
jensthiede at webgear.co.za
Fri Jan 9 14:07:58 EST 2004
In the following terminal; could someone inform me as to why it is
posible to print a global variable without having to declare it using
global. This has affected some source of mine, and allows you to
modify a global in a local scope *without* the global keyword, for
instance, you can append to a global list, but *not* assign it a new
value, for then, you create a new local variable. -- Why.
Python 2.3.2 (#1, Jan 3 2004, 23:02:08)
[GCC 3.2.3 20030422 (Gentoo Linux 1.4 3.2.3-r3, propolice)] on linux2
IDLE 1.0
>>> x = 10;
>>> def test():
x += 1;
>>> test();
Traceback (most recent call last):
File "<pyshell#5>", line 1, in -toplevel-
test();
File "<pyshell#4>", line 2, in test
x += 1;
UnboundLocalError: local variable 'x' referenced before assignment
>>> def test2():
print x;
>>> test2();
10
Any help would be appreciated,
Jens Thiede.
More information about the Python-list
mailing list