python的global和nonelocal
时间: 2024-04-14 10:28:09 浏览: 10
Python中的global和nonlocal是用于访问和修改变量作用域的关键字。
- global:当在函数内部使用global关键字声明一个变量时,该变量将被视为全局变量,可以在函数内部和外部访问和修改。这意味着,如果你在函数内部修改了一个全局变量,它的值也会在函数外部被修改。
- nonlocal:当在嵌套函数内部使用nonlocal关键字声明一个变量时,该变量将被视为非局部变量。它可以让你在嵌套函数中访问和修改外部函数中定义的变量,而不是创建一个新的局部变量。
以下是一个使用global和nonlocal的示例:
```python
def outer_function():
global global_variable
global_variable = 10
def inner_function():
nonlocal global_variable
global_variable += 5
print("Inner function:", global_variable)
inner_function()
print("Outer function:", global_variable)
outer_function()
```
输出结果为:
```
Inner function: 15
Outer function: 15
```
在这个示例中,我们在outer_function中声明了一个全局变量global_variable,并在inner_function中使用nonlocal关键字来修改它。最终,我们可以在inner_function和outer_function中访问和修改相同的全局变量。