Python中查看變量的類型,內存地址,所占字節的大小


查看變量的類型

#利用內置type()函數
>>> nfc=["Packers","49"] >>> afc=["Ravens","48"] >>> combine=zip(nfc,afc) >>> type(combine) <class 'zip'>

查看變量的內存地址

#利用內置函數id(),是以十進制顯示
>>> id(nfc) 2646554913160
>>> id(afc) 2646554913544

查看變量所占字節的大小

>>> import sys >>> print(sys.getsizeof(combine)) 64
>>> print(sys.getsizeof(nfc)) 80
>>> print(sys.getsizeof(afc)) 80

查看變量所占內存時和自己所想的完全不一樣,上面可能不注意的話不會發現

 

上面s賦值的時一個字符,有c/c++語言基礎的應該知道一個字符變量占1個字節,這里怎么會變成50個字節了呢?別急再往下看

 

s變量的賦值編程了‘Aa’兩個字符,輸出結果變成了51,比上面正好增加了一個字節,而我們也只是對s變量的賦值多了一個a字符,你要不信邪在添加一個字符試一試

這里添加了一個字符1,注意時字符不是數值型的1,看內存有增加了一個字節

更有意思的是下面

 

這里s是一個空字符串卻比有字符是所占內存還多
這是為什么呢,為什么造成這種情況?應該是和python一切都是對象有關,s是str類的對象,而s變成str類的對象時就已經開辟了一部分內存不管有沒有值,這也時為什么s沒有賦值就有51字節的內存,在之后每增加一個字符就會多一個字節(除剛開始以外)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM