Python scope
我有同样的问题,但略有不同。
number = 0
def incrementNumber():
number += 1
上面的这个不起作用,但下面的这个为什么?两者都在函数范围之外。
number = {'num':0}
def incrementNumber():
number['num'] += 1
如果我将变量添加为全局变量,则第一个有效
number = 0
def incrementNumber():
global number
number += 1
最佳答案
看看这个 blog post ,它和你正在做的很相似。特别是亚当的评论。
关于Python作用域、字典和变量的区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13060605/