Python中global和nonlocal
时间: 2024-04-09 22:07:27 浏览: 103
Python语言基础:global 和 nonlocal关键字.pptx
`global`和`nonlocal`都是表示在函数中使用外部变量的关键字,但它们的使用场景有所不同。
`global`用于在函数内部使用全局变量,即在函数内部修改全局变量的值。例如:
```python
x = 10
def foo():
global x
x = 20
print(x)
foo() # 输出 20
print(x) # 输出 20
```
在函数内部使用`global`关键字声明变量`x`是全局变量,这样就可以在函数内部修改`x`的值,而不是在函数内部创建一个新的局部变量`x`。
`nonlocal`用于在函数内部使用外部函数中定义的变量,即在嵌套函数中访问外部函数的变量。例如:
```python
def outer():
x = 10
def inner():
nonlocal x
x = 20
print(x)
inner()
print(x)
outer() # 输出 20 \n 20
```
在内部函数`inner`中使用`nonlocal`关键字声明变量`x`是外部函数`outer`中定义的变量,这样就可以在内部函数中修改外部函数中的变量`x`的值。
阅读全文