Python 无法访问函数内声明的全局变量
在func_a()内声明了全局变量,但无法从另一个函数func_b()访问该变量 我是python新手,如果这是一个奇怪的问题,很抱歉 我正在使用IDLE,当我编写函数IDLE时没有显示错误,但当我调用此函数时,它显示错误Python 无法访问函数内声明的全局变量,python,python-3.x,Python,Python 3.x,在func_a()内声明了全局变量,但无法从另一个函数func_b()访问该变量 我是python新手,如果这是一个奇怪的问题,很抱歉 我正在使用IDLE,当我编写函数IDLE时没有显示错误,但当我调用此函数时,它显示错误 Traceback (most recent call last): File "<pyshell#110>", line 1, in <module> func_b() File "<pyshell#109>", line
Traceback (most recent call last):
File "<pyshell#110>", line 1, in <module>
func_b()
File "<pyshell#109>", line 3, in func_b
return a + c
NameError: name 'a' is not defined
>>> def func_a():
global a
a = 2
b = 3
return a + b
>>> def func_b():
c = 4
return a + c
>>> func_b()
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
func_b()
文件“”,第3行,函数形式
返回a+c
NameError:未定义名称“a”
>>>def func_a():
全球a
a=2
b=3
返回a+b
>>>def func_b():
c=4
返回a+c
>>>func_b()
您从未运行过函数func\u a
,因此全局变量a从未被实例化和赋值。一旦您运行func\u a
,变量将被分配,您可以随后运行func\u b
。您需要指定a是您函数中的全局变量,您必须在func\u b(以及其他任何地方)中全局变量。@NicoT&David的可能重复:错误。如果要为全局变量赋值,只需使用global
。您需要运行函数func\u a()
为a
赋值