Python中变量的作用域、上下文与生命周期
在 Python 中,变量的作用域和上下文由变量作用域规则决定。下面是 Python 中主要的变量类型及其作用域:
1.局部变量:
- 作用域:局部变量在函数或代码块中声明。
- 上下文:它们只能在声明它们的代码块中访问。
- 生命周期:只要函数或代码块在执行,变量就会存在,一旦代码块退出,变量就会被垃圾回收。
def my_function(): |
2.全局变量:
- 作用域:全局变量在模块级别声明,不属于任何函数或类。
- 上下文:可在整个模块中访问。
- 生命周期:全局变量的生命周期与模块的生命周期相关联。
global_var = 20 # global variable |
3.非本地变量:
- 作用域:非局部变量用于嵌套函数内部,指向最邻近的外层作用域中的非全局变量。
- 上下文:在声明非局部变量的嵌套函数和任何内部函数中都可以访问它们。
- 生命周期:寿命与声明变量的作用域相关。
def outer_function(): |
4.内置变量:
- 作用域:内置变量是 Python 语言的一部分,总是可用的。
- 上下文:在整个程序中都可以访问它们。
- 生命周期:只要 Python 解释器在运行,内置变量就一直存在。
print(len("hello")) # len is 内置函数功能 |
了解 Python 中变量的作用域对于编写清晰、无错误的代码非常重要。
- 局部变量有助于封装函数中的逻辑,
- 而全局变量则为整个模块提供了更广泛的范围。
- 非局部变量可以实现嵌套函数之间的通信。