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/

10-11 05:07