Is it intentional that locals() returns a copy/snapshot of the local
variables sometimes, and sometimes a reference? Like when enabling
tracing, such as in the code pasted below. The documentation ("Update
and return a dictionary containing the current scope's local
variables.") is pretty unclear.
import sys
def X():
l = locals()
i = "foo"
print "Is 'i' in stored locals()? ", ('i' in l)
print "Running normally"
X()
print "Enabling tracing"
def t(*a):
return t
sys.settrace(t)
X()
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com