Advertisement

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)

还没有任何评论哟~