首页 > 编程语言 > 详细

Python __slots__限制动态变量个数,节省内存

时间:2015-03-27 10:55:04      阅读:249      评论:0      收藏:0      [点我收藏+]

慕课网

slots 由于Python是动态语言,任何实例在运行期都可以动态地添加属性。

如果要限制添加的属性,例如,Student类只允许添加 name、gender和score 这3个属性,就可以利用Python的一个特殊的slots来实现。

class Person(object):

    __slots__ = (‘name‘, ‘gender‘)

    def __init__(self, name, gender):
        self.name = name
        self.gender = gender

class Student(Person):

    __slots__ = (‘name‘, ‘gender‘, ‘score‘)

    def __init__(self, name, gender, score):
        #self.name = name
        #self.gender = gender
        super(Student, self).__init__(name, gender)
        self.score = score

s = Student(‘Bob‘, ‘male‘, 59)
s.name = ‘Tim‘
s.score = 99
print s.score

Python __slots__限制动态变量个数,节省内存

原文:http://blog.csdn.net/qianguozheng/article/details/44672933

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!