先看这段代码
a=1
exec('a+=1')
print(a)
在python2 中,这块打印的会是2,但是到了python3中,打印的a 又变成了1,具体原因很复杂,这里只讲怎么解决,附上完整代码
a=1
result = {}
exec('a+=1',locals(),result)
a= result.get('a')
print(a)
可能不是最简单的,但是比较好理解,如果有更好的方法,欢迎交流
先看这段代码
a=1
exec('a+=1')
print(a)
在python2 中,这块打印的会是2,但是到了python3中,打印的a 又变成了1,具体原因很复杂,这里只讲怎么解决,附上完整代码
a=1
result = {}
exec('a+=1',locals(),result)
a= result.get('a')
print(a)
可能不是最简单的,但是比较好理解,如果有更好的方法,欢迎交流