python小資料池

2022-07-20 17:42:15 字數 656 閱讀 8729

name = 'jerry'

print(id(name))

is 是什麼? == 又是什麼?

== 是比較的兩邊的數值是否相等,而 is 是比較的兩邊的記憶體位址是否相等。
python程式是由**塊構造的。塊是乙個python程式的文字,他是作為乙個單元執行的。

**塊:乙個模組,乙個函式,乙個類,乙個檔案等都是乙個**塊。

python在執行同乙個**塊的初始化物件的命令時,會檢查是否其值是否已經存在,如果存在,會將其重用。

小資料池,不同**塊的快取機制,也稱為小整數快取機制,或者稱為駐留機制。

python自動將-5~256的整數進行了快取,當你將這些整數賦值給變數時,並不會重新建立物件,而是使用已經建立好的快取物件。

python會將一定規則的字串在字串駐留池中,建立乙份,當你將這些字串賦值給變數時,並不會重新建立物件, 而是使用在字串駐留池中建立好的物件。

其實,無論是快取還是字串駐留池,都是python做的乙個優化,就是將~5-256的整數,和一定規則的字串,放在乙個『池』(容器,或者字典)中,無論程式中那些變數指向這些範圍內的整數或者字串,那麼他直接在這個『池』中引用,言外之意,就是記憶體中之建立乙個。

Python細節 二 小資料池

python是由 塊構成的 塊,乙個模組.乙個函式,乙個類,乙個檔案,eval exec 執行的時候也是乙個 塊 1.記憶體位址 id 通過id 我們可以檢視到乙個變數表示的值在記憶體中的位址 a alex print id a 4541631158 和is 比較的是值 內容 true is比較的是...

小資料池,字典

id 檢視記憶體位址 name alex name1 alex print id name 31302632 print id name1 31302632 is 檢視是不是乙個 通過記憶體位址 print name name1 檢視等號兩邊的值 def func pass 塊1 name alex...

python中的 小資料池 is 和

一種資料快取機制,也被稱為駐留機制 小資料池針對的是 整數 字元 布林值 其他的資料型別不存在駐留機制 在python中對 5 到256之間的整數會被駐留在記憶體中,將一定規則的字串快取.在使用的時候,記憶體中只會建立乙個該資料的物件.儲存在小資料池中.當使用的時候直接從小資料池中獲取物件的記憶體引...