Python 无法访问函数内声明的全局变量

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

在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 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
赋值