python 中global的常见错误
时间: 2023-06-24 20:09:29 浏览: 255
PYTHON 中使用 GLOBAL引发的一系列问题
在 Python 中,`global` 关键字用于在局部作用域中访问全局变量。以下是几个常见的 `global` 关键字的错误:
1. 忘记使用 `global` 关键字:如果你在函数内部使用一个全局变量,但忘记了在函数内部使用 `global` 关键字来声明该变量,Python 会认为你试图创建一个新的局部变量,而不是访问全局变量。这将导致程序出现错误。
2. 尝试修改全局变量:在函数内部,如果你想修改全局变量的值,必须使用 `global` 关键字声明变量。如果你在函数内部修改全局变量的值,但没有使用 `global` 关键字,Python 会认为你试图创建一个新的局部变量。
3. 在同一行中声明多个全局变量:在同一行中声明多个全局变量时,必须使用逗号分隔它们。如果你不使用逗号分隔它们,Python 会认为你在创建一个新的局部变量。
下面是一个例子,演示了这些错误:
```python
x = 0
def test():
x += 1 # 错误:尝试修改全局变量,但没有使用 global 关键字
print(x)
test() # 报错:UnboundLocalError: local variable 'x' referenced before assignment
def test2():
global y, z # 错误:在同一行中声明多个全局变量时没有使用逗号分隔它们
y = 1
z = 2
print(y, z)
test2() # 报错:SyntaxError: name 'y' is used prior to global declaration
```
阅读全文