Python 全局变量-引用后如何分配变量?

Python 全局变量-引用后如何分配变量?,python,python-3.x,global-variables,global,Python,Python 3.x,Global Variables,Global,对于python,该语言有一个有用的特性,即“全局”,然而,我在实验代码时看到,在我将全局变量赋值为整数或值后,我可以使用该变量,但在引用该变量后不能更改它 如果您不理解我刚才在那里写的内容,下面是我的示例代码: global number number = 5 text="hello" if text+str(number)=="hello5": number=number+1 运行此特定代码后,我收到一个错误,它表示: UnboundLocalError:赋值前引用的局部变量“

对于python,该语言有一个有用的特性,即“全局”,然而,我在实验代码时看到,在我将全局变量赋值为整数或值后,我可以使用该变量,但在引用该变量后不能更改它

如果您不理解我刚才在那里写的内容,下面是我的示例代码:

global number
number = 5

text="hello"

if text+str(number)=="hello5":
    number=number+1
运行此特定代码后,我收到一个错误,它表示:

UnboundLocalError:赋值前引用的局部变量“number”


如果您能提供帮助,请说明如何使此代码“正确”运行。

全局关键字实际上应该在局部范围内使用,以引用全局变量。比如说

c = 0
def add():
  global c
  c = c + 2

使用函数add()中的global关键字,我们可以访问变量c并相应地更改它。

这是您的完整代码吗?若有,;您可以在函数中使用“global”命令来指示对该变量的任何引用都应该取自全局名称空间而不是本地名称空间,从而有效地允许您在函数之间共享变量,而无需将其作为参数传递

这里的代码说明变量'number'是全局变量,但是由于'number'尚未声明和赋值,因此出现此错误

当您输入不同的名称空间(即输入函数)时,只需指定变量为全局变量。您可以在该函数中执行此操作,而不是在第一次声明变量时执行


希望这有助于

全局
不应该被视为有用的功能。它确实有它的用途,但它们应该是罕见的。我很抱歉我复制了错误的代码!我现在改了你问题中的代码不会产生你所说的错误。不管怎样,
global
并不像你想象的那样。