Trouble with nested scopes when trying to rebind a variable
a.schmolck at gmx.net
Fri Nov 21 16:40:25 CET 2003
Fernando Rodriguez <frr at easyjob.net> writes:
> I have a parameter defined in a module, called PREVIEW. Many functions use
> it's value to modify their behavior.
> A function called dispatch checks the user arguments in sys.argv and calls the
> appropriate function. It should also modify the value of PREVIEW depending on
> the user input.
> And here's where I get into trouble: if I write something like PREVIEW = None
> inside the body of a function, it doesn't modify the value of the existing
> PREVIEW variable, it creates a new variable in the function scope.
> How can I modify the external PREVIEW variable?
Just as you'd modify any variable, really (provided you're actually using a
*mutatable* datatype like a list),
PREVIEW[:] = 
However, what you actual seem to be after is globally reassigning the name
PREVIEW. so do:
preview = None
> In Lisp there are different operators to rebind an existing variable and to
> create a new variable. How do you do this in python?
More information about the Python-list