search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

python命名空間(NameSpace)

image

三種命名空間

(1)Built-in Namespace(內置命名空間)

(2)Module:Global Namespace(全域)

(3)Function:Local Namespace

 

(一)Built-in Namespace(內置命名空間)

只要python的直譯器一啟用就能使用
例如:print

(二)Module:Global Namespace(全域)

function

(三)Function:Local Namespace(區域) 

例如:def內的命名

 

二、LEGB

L:local
E:enclosed(有雙層function時)
G:global
B:built-in

三、範圍scope

     查找namespace的空間與權限,主要依照LEGB的范未來尋找。先從自己的範圍找,如果沒有的話,接著一直往上直到找到為止。

*低層級的,對於高層,只能讀取,不能寫入。

好處:在最高層級,如果先設定好變數,低層無法改變高層的值。

特例

    但以下得兩個方式,很少人使用,甚至不推薦使用。因為這樣會誤導人,所以變數命名盡量不要相同。

(1)如果再local想要改變global的值,可以在前一行寫global+變數。

(2)此用nonlocal的語法來改變。

 

 

 

 



熱門推薦

本文由 junsangpixnetnetblog 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦