我会保持这一短而简单。为什么会出现以下行为?
>>> globals()['x'] = 5
>>> x
5
>>> def f():
... locals()['y'] = 7
... y
...
>>> f()
Traceback (most recent call last):
File "<pyshell#32>", line 1, in <module>
f()
File "<pyshell#31>", line 3, in f
y
NameError: name 'y' is not defined
以下是可能使用的示例:
import opcode
def foo():
locals().update(opcode.opmap)
#do stuff