我想访问一个在函数中计算但不是返回值的变量。我在另一个函数中调用此函数,因此我无法更改返回值(我知道这是人们通常建议做的事情)。我尝试在变量前面使用global,但是当我在外面调用它时,我有以下错误:NameError:全局名称'DA'未定义 我的代码如下所示:
def function():
global DA
DA = something
....
return something_different
print DA #(outside the function)
我对Python比较陌生,所以也许有一些显而易见的东西我在这里不见了。谢谢!
答案 0 :(得分:0)
您必须先在函数外定义DA
。 global
不创建新变量并将其插入全局范围。 global
关键字告诉函数引用DA
的现有定义,而不是创建一个与函数本地相同的新变量。这与默认值相反,默认情况下,函数内的任何变量(带有等号)都是函数的本地变量,并在本地覆盖全局作用域的任何变量的定义,并且原始定义已恢复在函数范围之外。
答案 1 :(得分:-1)
返回DA ****程序****
def function():
global DA
DA = something
....
return DA
print(DA) #(outside the function)