首頁 >後端開發 >Python教學 >python命名空間和作用域是什麼?作用有哪些?

python命名空間和作用域是什麼?作用有哪些?

乌拉乌拉~
乌拉乌拉~原創
2018-08-15 17:32:452008瀏覽

在這篇文章之中我們來了解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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn