python 变量作用域
时间: 2023-10-29 13:57:54 浏览: 91
从局部变量和全局变量开始全面解析Python中变量的作用域
5星 · 资源好评率100%
Python中的变量作用域可以分为全局作用域和局部作用域。
全局作用域指的是在整个程序中都可以访问的变量。在函数外部定义的变量属于全局作用域,可以在函数内部和外部使用。例如:
```
x = 10 # 全局变量
def my_function():
print(x) # 可以访问全局变量 x
my_function() # 输出 10
```
局部作用域指的是在函数内部定义的变量,只能在函数内部访问。例如:
```
def my_function():
y = 20 # 局部变量
print(y) # 可以访问局部变量 y
my_function() # 输出 20
print(y) # 报错,无法访问局部变量 y
```
如果在函数内部想要修改全局变量,需要使用 `global` 关键字进行声明。例如:
```
x = 10 # 全局变量
def my_function():
global x # 声明 x 是全局变量
x = 20 # 修改全局变量 x
print(x) # 可以访问修改后的全局变量 x
my_function() # 输出 20
print(x) # 输出 20
```
需要注意的是,在嵌套函数中,内层函数可以访问外层函数的变量,但是不能修改它们,除非使用 `nonlocal` 关键字进行声明。
阅读全文