位置:首页 > 软件操作教程 > 编程开发 > Python > 问题详情

python应用操作——使用slots来减少内存开支

提问人:ylm发布时间:2020-09-29

你是否注意到你的 Python 应用占用许多资源特别是内存?有一个技巧是使用 slots 类变量来在一定程度上减少内存开支。

import sysclass FileSystem(object):

 

    def __init__(self, files, folders, devices):

        self.files = files

        self.folders = folders

        self.devices = devices

print(sys.getsizeof( FileSystem ))

 class FileSystem1(object):

 

    __slots__ = ['files', 'folders', 'devices']

    def __init__(self, files, folders, devices):

        self.files = files

        self.folders = folders

        self.devices = devices

 

print(sys.getsizeof( FileSystem1 ))#In Python 3.5#1-> 1016#2-> 888

很明显,你可以从结果中看到确实有内存使用上的节省,但是你只应该在一个类的内存开销不必要得大时才使用 slots。只在对应用进行性能分析后才使用它,不然地话,你只是使得代码难以改变而没有真正的益处。

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部