Edward C. Jones wrote: > #! /usr/bin/env python > """ > When I run the following program I get the error message: > > UnboundLocalError: local variable 'x' referenced before assignment > > Can "inner" change the value of a variable defined in "outer"?
Not this way > Where > is this explained in the docs? IIRC, http://www.python.org/doc/2.4.2/ref/naming.html > """ > def outer(): > def inner(): > x = x + 1 > > x = 3 > inner() > print x > > outer() What are functions arguments and return values for ? def outer(): def inner(x): return x+1 x = 3 x = inner(x) print x outer() Using side-effects - specially this way - is a Very Bad Thing(tm). It makes code that is hard to read and hard to maintain. -- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in '[EMAIL PROTECTED]'.split('@')])" -- http://mail.python.org/mailman/listinfo/python-list