📜  Python变量范围(1)

📅  最后修改于: 2023-12-03 15:19:32.270000             🧑  作者: Mango

Python变量范围

在Python中,变量可以在不同的范围内定义,如全局范围和局部范围。了解Python变量范围,可以帮助我们避免一些常见的错误。

全局变量

全局变量定义在模块顶部,并且可以在模块中的所有函数中访问。

x = 10

def foo():
    print(x)

foo() # 10
局部变量

局部变量定义在函数内部,仅在该函数内部可见。如果尝试在函数外部访问这些变量,将会发生错误。

def foo():
    x = 10
    print(x)

foo() # 10

print(x) # NameError: name 'x' is not defined
非局部变量

如果想要在函数内部更改一个函数外部定义的变量,则需要使用nonlocal关键字。这种变量称为非局部变量。

x = 10

def foo():
    nonlocal x # 使用nonlocal声明非局部变量
    x = 20
    print(x)

foo() # 20

print(x) # 20
内置变量

Python有许多内置变量,可以在任何范围内访问,不需要进行特殊的声明或操作。内置变量的名称在Python中是保留的,不能作为变量名使用。

print(dir(__builtins__))

以上是Python变量范围的相关介绍。通过对Python变量范围的深入理解,可以更灵活地使用变量,并避免一些常见的错误。