【发布时间】:2019-03-30 02:46:00
【问题描述】:
文档说:
__sizeof__ : size of object in memory, in bytes
sys.getsizeof : Return the size of object in bytes
但是当我尝试显示一个对象的大小时,两者都会给出不同的输出:
class Person:
def __init__(self,name,age):
self.name = name
self.age = age
p = Person('vinay',30)
print(p.__sizeof__())
import sys
print(sys.getsizeof(p))
我得到的输出是
32
56
我的问题是我应该考虑哪一个?
【问题讨论】:
-
每个 DYZ:可能与 __sizeof__ not getting called by sys.getsizeof 重复
-
不要自己打电话给
__magic methods__。他们在那里为实现调用为你,因为它知道如何。
标签: python python-3.x