1. 程式人生 > 其它 >Python(二十一)—— LEGB規則

Python(二十一)—— LEGB規則

技術標籤: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