怎么在函数内部修改全局变量的值而不声明为全局?
时间: 2024-10-04 15:02:28 浏览: 37
全局变量的控制与修改:在函数中操作全局变量的技巧
在Python中,如果你想要在一个函数内部修改全局变量的值,通常的做法是使用`nonlocal`关键字而不是`global`。`nonlocal`用于指示函数改变的是非自身嵌套函数的局部变量,即外部函数的局部变量。
例如:
```python
def outer_function():
global_var = "Original value"
def inner_function():
nonlocal global_var
global_var = "Modified inside the inner function" # 修改全局变量
inner_function()
print(global_var) # 输出 "Modified inside the inner function"
outer_function()
```
在这个例子中,`inner_function()`通过`nonlocal global_var`告诉解释器它要修改的是外部函数`outer_function`的`global_var`,而不是它自身的局部变量。
阅读全文