首页 > 软件操作教程 > 编程开发 > Python
题目内容

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

题目答案

你是否注意到你的 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条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

软件操作 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

相关视频试题

最需教育客户端 软件问题一手掌握

去 App Store 免费下载 iOS 客户端