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