命名空間的查詢順序

2022-05-05 00:42:14 字數 588 閱讀 7344

第一  重要的知識點

名字的查詢

1首先你要先確定你在現在處在那個空間

1,如果站在全域性: 那你的查詢順序就是全域性到》內建

2,站在區域性:區域性 》全域性》內建

#

x = 111

#def f1():

#x = 222

#def f2():

#x = 333

#def f3():

## x = 444

#def f4():

## x = 555

#print(x)

#f4()

#f3()

#f2()

#f1()

上 ** 結果:555   如果在上述中刪除555 那麼結果就是444  如果刪除444那麼結果就是333 這就和找朋友是一樣的   你要一層一層的往上推如果沒有那麼就要在往上走 ,如果在全域性空間的那個

x= 111  也沒有存在那麼就會在內建空間查詢  如果內建空間有x 鏈結的那個值那麼就會列印 當然內建空間也沒有x 這個值 當**都沒有的時候就是報錯 當然我們只是為了演示,命名空間的查詢順序 並沒有什麼實際意義非要放系統報錯

類命名空間 物件的命名空間 查詢順序

類命名空間與物件的命名空間 類的命名空間 建立乙個類就會建立乙個類的命名空間,用來儲存類中定義的所有名字,這些名字稱為類的屬性 類有兩種屬性 靜態屬性和動態屬性 靜態屬性 直接在類中定義的變數 動態屬性 定義在類中的方法 其中類的資料屬性是共享給所有物件的 id egg.role 434159407...

命名空間的順序

自從有了命名空間之後,最容易出錯的該是使用類的時候,這個類的尋找路徑是什麼樣的了。phpnamespacea useb d c e asf 函式呼叫 foo 首先嘗試呼叫定義在命名空間 a 中的函式foo 再嘗試呼叫全域性函式 foo foo 呼叫全域性空間函式 foo my foo 呼叫定義在命名...

小白收藏 Python命名空間查詢順序

當一行 要使用變數 x 的值時,python 會到所有可用的名字空間去查詢變數,按照如下順序 1 區域性命名空間 特指當前函式或類的方法。如果函式定義了乙個區域性變數 x,或乙個引數 x,python 將使用它,然後停止搜尋。2 全域性命名空間 特指當前的模組。如果模組定義了乙個名為 x 的變數,函...