使用 python,该语言具有"全局"的有用功能,但是,我看到在尝试代码时,在将全局变量赋值为整数或值后,我可以使用变量,但在引用它后我无法更改变量?
如果你不明白我刚刚在那里写的内容,这是我的示例代码:
global number
number = 5
text="hello"
if text+str(number)=="hello5":
number=number+1
运行此特定代码后,我收到一个错误,它指出:
UnboundLocalError: local variable 'number' referenced before assignment
如果您能提供帮助,请说明我如何使此代码"正确"运行。
全局关键字实际上应该在局部范围内用于引用全局变量。例如
c = 0
def add():
global c
c = c + 2
在函数 add(( 中使用 global 关键字,我们能够访问变量 c 并相应地更改它。
这是你的完整代码吗?㞖;您可以在函数中使用"global"命令来指示对该变量的任何引用都应取自全局命名空间而不是本地命名空间,从而有效地允许您在函数之间共享变量,而无需将它们作为参数传递。
您在此处的代码声明变量"number">是全局的,但是由于"number"尚未声明并分配值,因此您会收到此错误。
您只需在输入不同的命名空间(即输入函数(时指定变量是全局的。你在那个函数内这样做,而不是在变量的第一次声明时。
希望这有帮助