亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中的命名空間、變量和范圍是什么

發布時間:2022-09-05 09:32:36 來源:億速云 閱讀:138 作者:iii 欄目:開發技術

這篇文章主要講解了“Python中的命名空間、變量和范圍是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Python中的命名空間、變量和范圍是什么”吧!

Python 中的命名空間、變量和范圍

什么是命名空間?

首先,我們需要感知python中的名稱(標識符)是什么。眾所周知,在python中,一切都是對象。名稱幫助我們訪問底層對象。例如,當我們做作業時 a = 1 , 1 是存儲在內存中的對象,a 是我們與之關聯的名稱。我們可以通過內置函數獲取某個對象的地址(在 RAM 中), ID() .讓我們看看如何使用它。

 a = 1  
 打印('id(1)=',id(1))  
  
 打印('id(a)=',id(a)) 輸出: id(1) = 9801248  
 id(a) = 9801248

在這里,兩者都指同一個對象 1 ,所以他們擁有相同的id。

現在我們知道了名稱是什么,我們可以繼續討論名稱空間的概念。簡單地說,命名空間是名稱的集合。在 Python 中,您可以將命名空間想象為您定義的每個名稱到相應對象的映射。不同的命名空間可以在給定時間共存,但完全隔離。當我們啟動 Python 解釋器時,會創建一個包含所有內置名稱的命名空間,并且只要解釋器運行,它就存在。這就是內置函數像 ID() , 打印() 我們始終可以從程序的任何部分獲得等。每個模塊創建自己的全局命名空間。這些不同的命名空間是隔離的。因此,不同模塊中可能存在的相同名稱不會發生沖突。

變量和表達式

要將現實世界的問題轉化為可以通過算法解決的問題,有兩個相互關聯的任務。首先,選擇變量,其次,找到與這些變量相關的表達式。變量是附加在對象上的標簽;它們不是對象本身。它們也不是對象的容器。變量不包含對象,而是充當對象的指針或引用。例如,考慮以下代碼:

Python中的命名空間、變量和范圍是什么

在這里,我們創建了一個變量 a,它指向一個列表對象。我們創建另一個變量 b,它指向同一個列表對象。當我們向這個列表對象追加一個元素時,這種變化會同時反映在 a 和 b 中。

Python 是一種動態類型語言。在程序執行期間,變量名可以綁定到不同的值和類型。例如,每個值都是類型、字符串或整數;但是,指向該值的名稱沒有特定類型。這與許多語言(例如 C 和 Java)不同,其中名稱表示內存中的固定大小、類型和位置。這意味著當我們在 Python 中初始化變量時,我們不需要聲明類型。此外,變量,或者更具體地說是它們指向的對象,可以根據分配給它們的值更改類型,例如:

Python中的命名空間、變量和范圍是什么

變量范圍

了解函數內部變量的作用域規則很重要。每次執行函數時,都會創建一個新的本地命名空間。這表示一個本地環境,其中包含由函數分配的參數和變量的名稱。為了在調用函數時解析命名空間,Python 解釋器首先搜索本地命名空間(即函數本身),如果未找到匹配項,則搜索全局命名空間。這個全局命名空間是定義函數的模塊。如果仍未找到該名稱,它將搜索內置命名空間。最后,如果失敗,則解釋器會引發 NameError 異常。考慮以下代碼:

Python中的命名空間、變量和范圍是什么

在示例中,定義了兩個全局變量。我們需要使用關鍵字 global 告訴解釋器,在函數內部,我們指的是一個全局變量。當我們將此變量更改為 11 時,這些更改會反映在全局范圍內。但是,我們設置為 21 的變量 b 是函數的局部變量,函數內部對其所做的任何更改都不會反映在全局范圍內。當我們運行函數并打印 b 時,我們看到它保留了它的全局值。

感謝各位的閱讀,以上就是“Python中的命名空間、變量和范圍是什么”的內容了,經過本文的學習后,相信大家對Python中的命名空間、變量和范圍是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

哈尔滨市| 黎平县| 德保县| 桑植县| 清涧县| 五河县| 瓦房店市| 抚宁县| 泗水县| 徐水县| 子长县| 布尔津县| 明光市| 武宁县| 海阳市| 安化县| 荥经县| 石门县| 焦作市| 塘沽区| 金昌市| 连南| 佛教| 张掖市| 崇阳县| 房山区| 会宁县| 湘潭县| 西乌珠穆沁旗| 茌平县| 同德县| 嘉鱼县| 大庆市| 九寨沟县| 溆浦县| 扎鲁特旗| 颍上县| 灵石县| 都昌县| 拉孜县| 高安市|