查看變量的類型
#利用內置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字節的內存,在之后每增加一個字符就會多一個字節(除剛開始以外)
