浅谈LEGB规则

本文介绍了Python中的LEGB规则,涉及命名空间和作用域的概念。命名空间是变量的可用范围,以字典形式存在,同一命名空间内变量名不能相同。作用域是变量的有效使用范围,Python的作用域是静态的。LEGB规则详细阐述了变量查找顺序:local -> enclosing -> global -> builtin。Python2.2后引入闭包,增加了enclosing作用域,即内层函数可以访问外层函数的变量。

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

LEGB是python的一种规则和限制,要想理解,必须先了解下命名空间和作用域。


命名空间


        命名空间是一个变量的可用范围,变量名在不同命名空间内可相同,但是在同一个命名空间内不能相同。在python中命名空间是用字典来表示的,也就是变量名+映射对象的组合,变量名等同于key,key相同的话无法分辨取值,所以在同一个命名空间内变量名不能一样。


作用域:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值