LEGB
Posted caihuajiaoshou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LEGB相关的知识,希望对你有一定的参考价值。
找寻变量的调用顺序采用LEGB原则(即就近原则)
-
B —— Builtin(Python);Python内置模块的命名空间 (内建作用域) (内置命名空间)
-
G —— Global(module); 函数外部所在的命名空间 (全局作用域) (全局命名空间)
-
E —— Enclosing function locals;外部嵌套函数的作用域(嵌套作用域) (局部命名空间)
-
L —— Local(function);当前函数内的作用域 (局部作用域) (局部命名空间)
依据就近原则,从下往上 从里向外 依次寻找
局部变量:
函数内部的变量(局部命名空间)
全局变量:
函数内部和外部(全局命名空间)
(1)内部函数可以直接在函数外部调用么? 不行! (2)调用外部函数后,内部函数可以在函数外部调用吗 不行! (3)内部函数可以在函数内部调用吗 可以 (4)内部函数在函数内部调用时,是否有先后顺序 有先后顺序
获取变量时遵循LEGB原则,
修改变量时需要global/nonlocal进行修改
以上是关于LEGB的主要内容,如果未能解决你的问题,请参考以下文章