在這篇文章之中我們來了解python這門程式語言之中命名空間和作用域。在這篇文章之中我們將會來了解python命名空間,以及命名空間和作用域。 了解關於他們的一些知識。
命名空間與作用域:
變數是擁有符合物件的名字(識別碼)。命名空間是一個包含了變數名稱們(鍵)和它們各自對應的物件們(值)的字典。
一個 Python 表達式可以存取局部命名空間和全域命名空間裡的變數。如果一個局部變數和一個全域變數重名,則局部變數會覆寫全域變數。
每個函數都有自己的命名空間。類別的方法的作用域規則和通常函數的一樣。
Python 會聰明地猜測一個變數是局部的還是全域的,它假設任何在函數內賦值的變數都是局部的。
因此,如果要給函數內的全域變數賦值,必須使用 global 語句。
#!/usr/bin/python # -*- coding: UTF-8 -*- Money = 2000 def AddMoney(): # 想改正代码就取消以下注释: # global Money Money = Money + 1 print Money AddMoney() print Money
global VarName 的表達式會告訴 Python, VarName 是一個全域變量,這樣 Python 就不會在局部命名空間裡尋找這個變數了。
例如,我們在全域命名空間裡定義一個變數 Money。我們再在函數內給變數 Money 賦值,然後 Python 會假定 Money 是一個局部變數。然而,我們並沒有在訪問前宣告一個局部變數 Money,結果就是會出現一個 UnboundLocalError 的錯誤。取消 global 語句的註解就能解決這個問題。
以上就是今天所要說明的內容:命名空間和作用域,光是看我的說明只是紙上談兵,動手實踐才是驗證所學的最好的方法與途徑。最後我也希望這篇文章能為正在學習python的你帶來一點幫助。
更多相關知識,請造訪php中文網Python教學欄位。
以上是python命名空間和作用域是什麼?作用有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!