Python中LEGB的概念
local,本地作用域、局部作用域的local命名空间。函数作用域的local命名空间。函数调用时创建,调用结束时候消亡。
Enclosing:嵌套函数外层函数的命名空间。
Global:全局作用域。一个模块的命名空间.模块被import时候创建,解释器退出时消亡。
Bulid-in。内置模块的命名空间,生命周期从python解释器启动时创建到解释器退出时消亡。例如print(open)都是内置的变量。
所以一个名词的查找顺序就是LEGB。(从本级逐级向外找)。
local,本地作用域、局部作用域的local命名空间。函数作用域的local命名空间。函数调用时创建,调用结束时候消亡。
Enclosing:嵌套函数外层函数的命名空间。
Global:全局作用域。一个模块的命名空间.模块被import时候创建,解释器退出时消亡。
Bulid-in。内置模块的命名空间,生命周期从python解释器启动时创建到解释器退出时消亡。例如print(open)都是内置的变量。
所以一个名词的查找顺序就是LEGB。(从本级逐级向外找)。