Python中__slots__限制属性

Python (144) 2023-07-11 23:36:47

说明

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__限制属性的方法,希望对大家有所帮助。

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

THE END

发表回复