2017-08-23 37 views
0

我已經在Python 3.6.2寫下面的代碼使用方法:如何從全局變量EXEC

user=0 
def test(): 
    global user 
    d = locals() 
    exec('user=1', globals(), d) 
test() 
print(user) 

我想用變量user(它是全球性的)的exec和它的值改爲1print(user)打印其值,但它正在打印0

如何解決?

+4

有一個回答你的問題,但我敢打賭,無論你正在試圖做的是不是爲了實現任何的正確方法你正在努力完成。 –

回答

0

您需要在exec貢獻代碼聲明變量global

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