Python面向对象学习编程(__slots__和property)
发布时间
阅读量:
阅读量
笔记
笔记
在前文《[【笔记
当定义一个class时,在其结构中设置一个特殊的__slots__变量以限制该类实例无法添加新的属性。
目录
slots
@property
练习
slots
该字段支持接收一个元组,在该元组中定义了每个字符串类型的名称表示允许附加的属性;若尝试附加非允许属性则会导致系统报错
class Student(object):
... __slots__ = ('name','age')
...
... stu1 = Student()
... stu1.name = 'forst'
... stu1.age = 23
... stu1.high = 165
Traceback (most recent call last):
File "<input>", line 7, in <module>
AttributeError: 'Student' object has no attribute 'high'
注意:仅对当前类实例起作用,对继承的子类是不起作用
class Student(object):
...
全部评论 (0)
还没有任何评论哟~
