[英]Global Variables - Python
我在使用全局变量时遇到了麻烦。 我将代码放入一个小示例中。 我在function1中分配了一个名为var1的变量。 现在我想在函数2中调用该变量,然后打印函数2的结果
如果使用此代码,则会得到未定义的var1。
def function1():
global var1
var1 = 'Hello'
def function2():
return var1
print function2()
我该如何解决?
您需要首先实际调用function1()
。
global
关键字仅告诉Python 当您调用函数时 ,对var1
任何赋值都应该是全局名称,而不是本地名称。 但这并不能神奇地使var1
出现,直到您实际执行该分配。 在调用function1
,没有全局var1
。
Python没有声明; 名称绑定或不绑定。
演示:
>>> def function1():
... global var1
... var1 = 'Hello'
...
>>> def function2():
... return var1
...
>>> function2()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in function2
NameError: global name 'var1' is not defined
>>> function1()
>>> function2()
'Hello'
如果你想使global var1
在function2()
你应该调用function1
的function2
。 这样做var1
变得可见并且可以在function2
返回:
>>>def function2():
... function1()
... return var1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.