内存中无值是什么?
问题内容:
None
在Python中,这是一个保留字,关于None
内存的确切值,我想到的只是一个问题。我要记住的是,None
内存中的表示形式为0或指向堆的指针。但是,指向内存中空白区域的指针都不有意义零值。因为当我测试以下内容时:
>>> None.__sizeof__()
16
事实证明,这None
消耗了16个字节,实际上对于一个空值来说实在太多了。
那么,
None
实际上在内存中代表什么呢?
问题答案:
None
是单例对象,它不(几乎)不提供任何方法和属性,并且其唯一目的是表示某些特定操作没有任何价值的事实。
作为一个真实的对象,它仍然需要一些头,一些反射信息以及类似的东西,因此它占用了每个python对象占用的最小内存。