Python(二十一)—— LEGB规则

Python(二十一)—— LEGB规则

一、解释
Python在查找“名称”的时候,是按照LEGB规则查找的,
Local–>Enclosed–>Global–>Buitl in。
Local:指的是函数或者类方法的内部。
Enclosed:指的是嵌套函数(闭包)。
Global:模块中的全局变量。
Buitl in:指的是Python为自己保留的特殊名称。

按照这个顺序规则没有找到的话,会报“NameError”的错误。

c = 8
def func5():
    a = 5
    b = 7
    def inner():
        a =6
        print('a:',a)
        print('b:', b)
        print('c:', c)
    inner()
if __name__=='__main__':
    func5()
   # a: 6
   # b: 7
   # c: 8

猜你喜欢

转载自blog.csdn.net/zxq6661/article/details/113488840