如何在exec

时间:2017-08-23 16:43:33

标签: python

我在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}}。

如何解决?

1 个答案:

答案 0 :(得分:0)

您需要在global代码中声明变量exec

>>> user = 0
>>> def test():
...     exec('global user; user=1', globals())
... 
>>> test()
>>> print(user)
1