python中__slots__限制属性

python中__slots__限制属性" alt="python中__slots__限制属性" src="//www.dapan.cc/wp-content/uploads/2022/11/1668481634-b61a011caf748ea.jpg">

说明

1、想限制实例对象的属性,只允许在Person的实例对象中添加name和age属性。

2、为了达到限制的目的,python允许在定义类别时定义__slots__()方法,限制该例子对象可以追加的属性。

使用注意

__slots__定义的属性只对当前类别的实例对象起作用,对继承的子类别不起作用

实例

>>>classPerson:
...__slots__=("age","name")
...
>>>p=Person()
>>>p.age=12
>>>p.name="xiaoming"
>>>p.hobby="football"
Traceback(mostrecentcalllast):
File"<stdin>",line1,in<module>
AttributeError:'Person'objecthasnoattribute'hobby'

以上就是python中__slots__限制属性的方法,希望对大家有所帮助。更多python学习指路:python基础教程