gpt4 book ai didi

python - int 的实例比其继承类的字节少得多

转载 作者:太空宇宙 更新时间:2023-11-04 02:11:26 24 4
gpt4 key购买 nike

当我尝试 sys.getsizeof 时:

>>> import sys
>>> sys.getsizeof(int)
400
>>> sys.getsizeof(2)
28

我对结果感到困惑:

2 是类 int 的实例,但比其继承类的字节数少得多。

>>> sys.getsizeof(list)
400
>>> sys.getsizeof(list("list"))
120

同样是list。

2不是继承类int吗?

最佳答案

int 是一个类,也就是说它是一个type对象:

>>> type(int)
<class 'type'>
>>> from sys import getsizeof
>>> getsizeof(int)
400

sys.getsizeof返回那个对象的大小,而不是它的实例。使用 () 创建 int 实例并查看其大小

>>> getsizeof(int())
24
>>> getsizeof(int(2))
28

>>> getsizeof(0)
24
>>> getsizeof(2)
28

这不仅适用于内置类型,使用用户定义的类也可以观察到相同的行为:

>>> class a:
... pass
...
>>> getsizeof(a)
1056
>>> getsizeof(a())
56
>>> obj = a()
>>> getsizeof(obj)
56

关于python - int 的实例比其继承类的字节少得多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53654814/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com