參考鏈接:https://www.cnblogs.com/geaozhang/p/7111961.html#lajihuishou
目錄
一、變量與對象
1、變量,通過變量指針引用對象
2、對象,類型已知,每個對象都包含一個頭部信息(頭部信息:類型標識符和引用計數器)
3、引用所指判斷
一、變量與對象
1、變量,通過變量指針引用對象
變量指針指向具體對象的內存空間,取對象的值。
2、對象,類型已知,每個對象都包含一個頭部信息(頭部信息:類型標識符和引用計數器)
注意:變量沒有類型,類型屬于對象,因為變量引用了對象,所以變量隨對象的類型
id() 是python的內置函數,用于返回對象的身份,即對象的內存地址。
下面的代碼很好的解釋上面兩張圖片
# 變量沒有類型,類型屬于對象,因為變量引用了對象,所以變量隨對象的類型
import sys
a = 123
b = 123
>>print(id(a))
1546779568
>>print(id(b))
1546779568
>>print(sys.getrefcount(a))
15
>>print(id(a) == id(b))
True
3、引用所指判斷
通過 is 進行引用所指判斷,is是用來判斷兩個引用所指的對象是否相同。
整數類型
短字符串
長字符串
列表
1、Python緩存了整數和字符串,因此每個對象在內存中只存有一份,引用所指對象就是相同的,即使使用賦值語句或非賦值語句,也只是創造新的引用,而不是對象本身;
2、Python沒有緩存列表及其他對象,可以由多個相同的對象,可以使用賦值語句創建出新的對象。
?
?
?
?
?
?
?
?
?
?
?
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
