behavior difference for mutable and immutable variable in function definition

jianbing.chen at gmail.com jianbing.chen at gmail.com
Fri May 4 17:30:06 EDT 2007


Hi,

Can anyone explain the following:

Python 2.5 (r25:51908, Apr  9 2007, 11:27:23)
[GCC 4.1.1 20060525 (Red Hat 4.1.1-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> def foo():
...     x = 2
...
>>> foo()
>>> def bar():
...     x[2] = 2
...
>>>
>>> bar()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 2, in bar
NameError: global name 'x' is not defined

Thanks,
Jianbing




More information about the Python-list mailing list