【问题标题】:difference between __sizeof__ and sys.getsizeof() [duplicate]__sizeof__ 和 sys.getsizeof() 之间的区别 [重复]
【发布时间】: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

我的问题是我应该考虑哪一个?

【问题讨论】:

标签: python python-3.x


【解决方案1】:

__sizeof__() 不考虑 GC 开销

【讨论】:

  • 答案看起来不错,但也许您可以通过支持信息或一些背景来改进它。
  • 向上循环here
  • 一般规则是不要给出链接答案,因为链接可能会更改,然后遇到相同问题的新人将无法理解您的答案。如果您想链接文档作为答案,请记住您不必回答问题。
猜你喜欢
  • 1970-01-01
  • 2014-08-16
  • 2011-04-08
  • 2012-11-24
  • 2013-06-05
  • 2021-09-29
  • 2020-05-27
  • 2016-03-23
  • 2012-08-11
相关资源
最近更新 更多