鱼C论坛

 找回密码
 立即注册
查看: 1517|回复: 2

[已解决]LEGB原则是什么意思?

[复制链接]
发表于 2020-2-6 15:31:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
LEGB原则是什么意思?能不能举例说明一下,概念看不懂。
最佳答案
2020-2-6 16:35:53
L —— Local(function);函数内的名字空间
E —— Enclosing function locals;外部嵌套函数的名字空间(例如closure)
G —— Global(module);函数定义所在模块(文件)的名字空间
B —— Builtin(Python);Python内置模块的名字空间

python遇到变量之后先匹配L,也就是当前函数里的你命名的变量,如果没有就去匹配E,然后再去找模块里导入匹配的名字,最后才会匹配BIF(内置函数,比如.pop()什么的)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-6 16:06:19 | 显示全部楼层
就是Python查找变量的一种方法
从里到外查找
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-6 16:35:53 | 显示全部楼层    本楼为最佳答案   
L —— Local(function);函数内的名字空间
E —— Enclosing function locals;外部嵌套函数的名字空间(例如closure)
G —— Global(module);函数定义所在模块(文件)的名字空间
B —— Builtin(Python);Python内置模块的名字空间

python遇到变量之后先匹配L,也就是当前函数里的你命名的变量,如果没有就去匹配E,然后再去找模块里导入匹配的名字,最后才会匹配BIF(内置函数,比如.pop()什么的)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-4 01:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表