面向对象高级编程

使用__slots__

因为python是一门动态语言,所以无法避免的会有给一个实例添加各种的属性或者方法的情况,python可以使用这个来限制实力的属性。

class Student(object):
    __slots__ = ('name', 'age') # 用tuple定义允许绑定的属性名称

但是我觉得这样也不是很好,如果有很多属性的话岂不是都写一长串,而且如果有人忘写了,还是不可避免的出现之前那种说过的情况。总而言之,语言不会去限制你怎么写,一切靠自觉。

@property

看到这个的第一感觉就是类似Object-C里面的property;

只需要在属性对应的

网友评论