概述
我假设你正在运行64位版本的Python 3.在32位Python 3.6(在Linux上),代码打印显示508.
但是,这是类对象本身的大小,它从基础对象类继承了很多东西.如果你取而代之的是你的类的一个实例的大小,结果要小得多.在我的系统上,
import sys
class Empty(object):
pass
print("show", sys.getsizeof(Empty()))
产量
show 28
这是更加紧凑的. ????
FWIW,在Python 2.6.6上,sys.getsizeof(Empty)为新式类返回448,对于旧式类(不从对象继承的类),返回44. sys.getsizeof(Empty())为新式类实例返回28,旧样式返回32.
您可以使用__slots__来减小实例的大小
This class variable can be assigned a string, iterable, or sequence of
strings with variable names used by instances. __slots__ reserves
space for the declared variables and prevents the automatic creation
of __dict__ and __weakref__ for each instance.
import sys
class Empty(object):
__slots__ = []
print("show", sys.getsizeof(Empty()))
产量
show 8
请阅读文档以了解如何使用此功能.
最后
以上就是饱满黑裤为你收集整理的在python中空语句的作用是让程序层次更加清晰_在python中空类的大小的全部内容,希望文章能够帮你解决在python中空语句的作用是让程序层次更加清晰_在python中空类的大小所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复