1. 程式人生 > >Python--名稱空間

Python--名稱空間

名稱空間

  就是存放名字的一個地方

a = 1
#  開闢記憶體,存入1,a 指向 1的記憶體地址
#  a存放在名稱空間,存的是a和1的繫結關係

 


 

三種名稱空間

  一、內建名稱空間

python自帶的都存放在這,直譯器啟動後就載入生成該名稱空間存放內建的名字,關閉直譯器就失效
如:print、len、max

  二、全域性名稱空間

在檔案級別定義的,都會存在全域性名稱空間
在執行py檔案時就會生成該名稱空間,name就生效,程式執行完畢就失效
如:text.py中頂頭寫,不縮排: name = 'bone'
這個name就存放在該空間

  三、區域性名稱空間

在程式碼塊中定義的名字
如:函式內部定義的
    def foo(x):
        print(x)
    doo(3)
 
#  這裡的x就是在區域性名稱空間中,只有呼叫函式才生效,函式結束就失效

  


 

名稱空間載入順序

內建--->全域性--->區域性

  


 

取值順序

從當前使用位置向上一層層找  如在函式:局置<---全域性<---內建;如果都沒有的話就提示NameError