标签: python python-internals
为什么以下内容会产生不同的结果?
>>> sys.getsizeof(int) # same as sys.getsizeof(object), sys.getsizeof(type) 400 >>> sys.getsizeof(1) 28
项目1的实际大小等于对象的大小(400)+实际整数值(28)的大小= 428,还是整数/对象创建在这里的工作原理?
1
答案 0 :(得分:3)
这些对象的类型不同,这就是为什么它们的大小不相同的原因:
>>> type(int) <class 'type'> >>> sys.getsizeof(type) 416 >>> type(object) <class 'type'> >>> type(type) <class 'type'> >>> type(1) <class 'int'> >>> sys.getsizeof(1) 28
对于大多数对象的一般大小以及它们如何缩放here,都有很好的答案。
根据记录,<class 'type'>是metaclass,关于这些是什么以及为什么,答案很长。here。
<class 'type'>