为什么我必须使变量成为全局变量?

Why do I have to make the variable global?

在下面的代码中,您需要将 'total' 设置为全局变量才能使代码正常工作。如果不这样做,则会引发错误。为什么会这样?

total = 0
def add_to_total(n):
    global total
    total = total + n

add_to_total(5)
print(total)

如果 python 在函数的某处看到类似 variable = ...variable += ... 的内容,它会假定它是一个局部变量,并将在局部变量中查找它。这就是为什么您需要明确说明它是全球性的。