Python(二十一)—— LEGB規則
阿新 • • 發佈:2021-02-02
技術標籤:python初級
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