【发布时间】:2012-07-04 18:48:27
【问题描述】:
当在exec 中定义变量/函数时,它似乎转到locals() 而不是globals() 我该如何改变这种行为?仅当您将全局和本地字典传递给exec 时才会发生这种情况。
例子:
exec("""
a = 2
def foo():
print a
foo()""") in {},{}
当你尝试这个时:
NameError: global name 'a' is not defined
【问题讨论】:
标签: python scope exec globals locals