Python 命名空間與範圍
- 一個名稱可以參考不同的東西,取決於在哪裡使用它
- Python有各種的命名空間
- 要存取全域變數,而不是函式內的區域變數,必須明確的使用
global
關鍵字
1 | 'bat' animal = |
- 若在函式內不使用
global
,Python會使用區域的命名空間,會在函式結束時消失 - Python提供兩個函式來存取命名空間的內容:
locals()
會回傳區域命名空間的字典內容globals()
會回傳全域命名空間的字典內容
1 | 'bat' animal = |
change_local()
內的區域命名空間只有區域變數,全域命名空間裡有另一個全域變數與一些其他東西
在名稱中使用_與__
- 在Python中,名稱開頭與結尾使用兩個底線是被保留的做法,所以不能在自己的變數中使用他們