我在Python 3.6.2中编写了以下代码:
user=0
def test():
global user
d = locals()
exec('user=1', globals(), d)
test()
print(user)
我想在user
中使用变量exec
(它是全局的)并将其值更改为1
并在print(user)
中打印其值,但它正在打印{ {1}}。
如何解决?
答案 0 :(得分:0)
您需要在global
代码中声明变量exec
:
>>> user = 0
>>> def test():
... exec('global user; user=1', globals())
...
>>> test()
>>> print(user)
1