【发布时间】:2020-04-30 23:56:17
【问题描述】:
我正在尝试访问我在外部函数内部创建的变量。这就是我所做的:
def add(a,b):
v = a + b
print(v)
add(5,5)
print(v)
但是,当我尝试在函数之外打印它时,它告诉我它没有定义。然后我开始先在函数外部创建变量,然后在函数内部更改它。这就是我为此所做的:
v = 0
def add(a,b):
v = a + b
print(v)
add(5,5)
print(v)
在这种情况下,它只是在最后一行打印出 0 而不是 10。有什么方法可以在函数内部保持对变量的更改而不是保持不变?
【问题讨论】:
-
是的,您必须在函数中使用
global语句。但是,这不是设计程序的推荐方式。可变的全局状态是不好的。不惜一切代价避免它。