从外部函数访问变量:Python

时间:2017-01-24 23:52:59

标签: python variables global

我想访问一个在函数中计算但不是返回值的变量。我在另一个函数中调用此函数,因此我无法更改返回值(我知道这是人们通常建议做的事情)。我尝试在变量前面使用global,但是当我在外面调用它时,我有以下错误:NameError:全局名称'DA'未定义 我的代码如下所示:

 def function():

     global DA

     DA = something

     ....

 return something_different

print DA #(outside the function)

我对Python比较陌生,所以也许有一些显而易见的东西我在这里不见了。谢谢!

2 个答案:

答案 0 :(得分:0)

您必须先在函数外定义DAglobal 创建新变量并将其插入全局范围。 global关键字告诉函数引用DA的现有定义,而不是创建一个与函数本地相同的新变量。这与默认值相反,默认情况下,函数内的任何变量(带有等号)都是函数的本地变量,并在本地覆盖全局作用域的任何变量的定义,并且原始定义已恢复在函数范围之外。

答案 1 :(得分:-1)

返回DA ****程序****

def function():

     global DA

     DA = something

     ....

 return DA

print(DA) #(outside the function)