assigning in nested functions
Fredrik Lundh
fredrik at pythonware.com
Sun Oct 9 08:08:10 EDT 2005
"jena" wrote:
> I have code
>
> # BEGIN CODE
> def test():
> def x():
> print a
> a=2 # ***
>
> a=1
> x()
> print a
>
> test()
> # END CODE
>
> This code fails (on statement print a in def x), if I omit line marked
> ***, it works (it prints 1\n1\n). It look like when I assign variable in
> nested function, I cannot access variable in container function.
> I need to assign variable in container function, is any way to do this?
no.
see "Rebinding names in enclosing scopes" in the design document
for a discussion (and a workaround):
http://www.python.org/peps/pep-0227.html
</F>
More information about the Python-list
mailing list