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