python 变量的作用域和生存周期

在Python中,变量的作用域决定了变量在代码中的可访问范围,而变量的生存周期则指的是变量存在的时间。

Python中的变量作用域分为全局作用域和局部作用域。

  • 全局作用域:在函数外定义的变量具有全局作用域,可以在任何地方被访问。在函数内部也可以访问全局变量,但是如果在函数内部修改全局变量的值,需要在函数内部使用 global关键字声明。
  • 局部作用域:在函数内部定义的变量具有局部作用域,只能在函数内部使用。局部变量的作用范围仅限于其所在的函数内部。

变量的生存周期取决于其作用域。

  • 全局变量的生存周期从其定义开始直到程序结束或者被显式删除。因此,在程序的任何地方都可以访问全局变量。
  • 局部变量的生存周期仅限于其所在的函数内部。当函数执行结束后,局部变量将被销毁。

以下是一个示例代码,演示了变量的作用域和生存周期:

x = 10  # 全局变量

def foo():
    y = 20  # 局部变量
    print(x)  # 在函数内部可以访问全局变量
    print(y)  # 在函数内部可以访问局部变量

foo()  # 输出:10, 20

print(x)  # 在函数外部可以访问全局变量
print(y)  # 在函数外部不能访问局部变量,会抛出NameError异常

在上述示例中,变量x是全局变量,可以在函数内部和外部访问。而变量y是局部变量,仅在函数内部可访问。

本文由 mdnice 多平台发布

你可能感兴趣的:(python)