变量的作用域

阅读量: 141 编辑

在 Python 中,变量的作用域指的是变量可以被访问和操作的代码区域。

Python 使用了一些规则来确定变量的作用域,这有助于组织和管理代码中的变量,并确保它们在适当的范围内使用。

一、局部作用域(Local Scope)

变量在函数内部定义的时候处于局部作用域。这意味着只有在函数内部才能访问这些变量,函数外部无法直接访问局部变量。

def my_function():
    x = 10  # 局部变量
    print(x)

my_function()
# print(x)  # 这将引发错误,因为 x 在函数外部不可见

二、嵌套作用域(Enclosing Scope)

当一个函数嵌套在另一个函数内部时,内部函数可以访问外部函数中的变量。这些外部函数中的变量在内部函数中称为嵌套变量。

def outer_function():
    y = 20  # 外部函数中的变量
    
    def inner_function():
    	print(y)  # 可以访问外部函数的变量
        
    inner_function()

outer_function()

三、全局作用域(Global Scope)

在函数外部定义的变量处于全局作用域,可以在整个文件内访问。

但是,如果在函数内部尝试更改全局变量的值,需要使用 global 关键字。

z = 30  # 全局变量

def modify_global():
    global z
    z = 40

print(z)  # 输出 30
modify_global()
print(z)  # 输出 40

四、内置作用域(Built-in Scope)

这是最高级别的作用域,其中包含 Python 内置的函数和对象,例如 print()len()。这些函数和对象可以在代码的任何地方访问。

print(len("Hello"))  # 使用内置函数 len()

当在代码中使用变量时,Python 首先查找变量的作用域,从局部作用域开始,然后是嵌套作用域、全局作用域和最后的内置作用域。

爱码岛编程公众号
微信扫码关注
爱码岛编程小程序
微信扫码打开
苏ICP备13052010号
©2023 南京匠成信息科技有限公司