在函数内部引用全局变量时一定要用global声明
时间: 2023-03-24 14:01:19 浏览: 213
vc++ 全局变量的使用 global function
4星 · 用户满意度95%
当你在函数内部引用一个变量时,Python 会首先搜索该函数的本地命名空间(local namespace)以查找该变量。如果该变量不存在于本地命名空间中,Python 将继续搜索该函数所在的模块的全局命名空间(global namespace)。如果该变量也不存在于全局命名空间中,Python 将搜索内置命名空间(built-in namespace)。
如果你在函数内部需要访问一个定义在全局命名空间的变量,你需要在函数内部显式地声明该变量为全局变量。在 Python 中,你可以使用 `global` 关键字来实现这一点。例如:
```
x = 10
def func():
global x
x = 20
print(x)
func() # 输出 20
print(x) # 输出 20
```
在上面的代码中,我们在函数 `func` 内部使用 `global` 关键字将变量 `x` 声明为全局变量。这样,在函数内部对变量 `x` 的修改也会影响到全局命名空间中的 `x` 变量。
阅读全文