本文主要是介绍Python LEGB规则,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Python在查找“名称”时,是按照LEGB规则查找的:
Local: 指的就是函数或者类的方法内部
Enclosed: 指的是嵌套函数(一个函数包裹另一个函数,闭包)
Global: 指的是模块中的全局变量
Built in: 指的是Python为自己保留的特殊名称
如果某个 name 映射在局部 local 命名空间中没有找到,接下来就会在闭包作用域 enclosed 进行搜索,如果闭包作用域也没有找到,Python就会到全局 global 命名空间中进行查找,最后会在内建built-in 命名空间搜索 (如果一个名称在所有命名空间中都没有找到,就会产生一个 NameError)
这篇关于Python LEGB规则的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!