1. 程式人生 > >Python名稱空間使用方法

Python名稱空間使用方法

名稱到物件的對映。名稱空間是一個字典的實現,鍵為變數名,值是變數對應的值。各個名稱空間是獨立沒有關係的,一個名稱空間中不能有重名,但是不同的名稱空間可以重名而沒有任何影響。
通俗講:名稱空間就是存放名字的地方,三種名稱空間,(之前遺留的問題x=1,1存放於記憶體中,那名字x存放在哪裡呢?名稱空間正是存放名字x與1繫結關係的地方)
一、名稱空間分類

  1. 全域性名稱空間( Global):每個模組載入執行時建立的,記錄了模組中定義的變數,包括模組中定義的函式、類、其他匯入的模組、模組級的變數與常量。
  2. 區域性名稱空間(Local):每個函式所擁有的名稱空間,記錄了函式中定義的所有變數,包括函式的入參、內部定義的區域性變數。
  3. 內建名稱空間(Built-in):任何模組均可以訪問,放著內建的函式和異常(比如:input,print,str,list,tuple…)。
    二、名稱空間的載入順序
    內建名稱空間(程式執行前載入)–>全域性名稱空間(程式執行中:從上到下載入)–>區域性名稱空間(程式執行中:呼叫時才載入)
    三、名稱空間的取值順序
    在區域性呼叫:區域性名稱空間–>全域性名稱空間–>內建名稱空間
    在全域性呼叫:全域性名稱空間–>內建名稱空間
    綜上所述,在尋找變數時,從小範圍,一層一層到大範圍去找尋。