Python 解释器为对象存储什么样的数据?
例如,在如下代码中:
class MyClass:
pass
if __name__ == "__main__":
c = MyClass()
import sys
print sys.getsizeof(c),sys.getsizeof(MyClass)
为什么输出是 72 和 104?为什么类比对象实例大?占用 72 个字符和 104 个字符的类和对象必须存储什么?
令人惊讶的是,当我运行它时:
class MyClass:
def __init__(self):
self.mIntValue = 1024
self.mStringValue = "hust";
if __name__ == "__main__":
c = MyClass()
import sys
print sys.getsizeof(c),sys.getsizeof(MyClass)
输出仍然是 72 和 104,但是我添加了两个额外的属性,所以我猜这个对象应该变得“更大”。好吧,结果似乎并非如此。