📅  最后修改于: 2023-12-03 15:19:32.270000             🧑  作者: Mango
在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变量范围的深入理解,可以更灵活地使用变量,并避免一些常见的错误。