When I run this code:
a = 1
vars()[ a ] = 2
print a
我获得以下产出:
2
但是,当我管理这一法典时:
def bar():
a = 1
vars()[ a ] = 2
print a
bar()
我获得以下产出:
1
现在,我的问题是,为什么会发生这种情况,我如何使第二起案件给我同样的解决办法。
Edit:
真的找不到解决办法,但我找到了一个小的黑板。 虽然我不使用外阴:
def bar():
a = "a"
b = "b"
exec a+"="+b
print a
bar()
取得了以下成果:
b
如果任何人都能找到更好的解决办法,那将是巨大的。 我不以这种方式确定任何全球变量,也不作任何cra,以致对此不感到担忧。