python函数作用域以及LEGB原则

本文详细介绍了Python中函数作用域的基本概念LEGB原则,并通过一个具体的代码示例来阐述了局部作用域(local)、封闭作用域(enclosing)、全局作用域(global)以及内置作用域(build-in)之间的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python函数作用域遵循LEGB原则,L>E>G>B
L: local函数内部作用域
E:enclosing函数内部与内嵌函数之间
G:global全局作用域
B:build-in内置作用域
下面用一个例子进行解释:

pass_line = 60  # pass_line: global


def func(val):  # val: local
    pass_line = 90  # pass_line: local
    if val >= pass_line:
        print("pass")
    else:
        print("failed")

    def fun_in():
        print(val)  # val: enclosing
    return fun_in


def maximum(val1, val2):
    return max(val1, val2)  # max(): build-in

if __name__ == "__main__":
    f = func(89)
    f()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值