On Tue, Jun 11, 2013 at 1:30 PM, rusi <rustompm...@gmail.com> wrote: > Or by example: > > def foo(x)... > def bar(x,y)... > there is no reason to confuse the two xes. > > Whereas > > x = ... > def foo(x)... > Now there is! > > The first should be encouraged, the second discouraged.
Again, there can be good reason for it, such as snapshotting globals: qwer=123 def asdf(qwer=qwer): print("qwer",qwer) asdf() qwer=234 asdf() Done for performance (avoiding lookups), could also be done for stability (as depicted here) though I've never seen it needed for that. ChrisA -- http://mail.python.org/mailman/listinfo/python-list