第一 重要的知識點
名字的查詢
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 的變數,函...