我们想要实现类的属性,但我们也希望这个类的属性能够受到限制。此时,需要对class的方法进行一些调整。class中有一个可以完成类属性定义的slots变量,但定义是当前类。如果你想扮演子类,你需要进一步操作。现在让我们定义slots的方法,然后介绍__slots__解释定义类属性的方法。
1.定义slots
创建类属性并使用它 slots 该名称,并将其值设置为由字符串组成的可迭代对象,其中每个元素表示每个实例属性。
#只在Vector2d类中添加__slots__属性 clasvector2d: __slots__=('__x','__y') typecode='d'
2.使用注意
(1)__slots__定义的属性只对当前类起作用,对继承的子类不起作用;
(2)除非在子类中也定义___slots这样,子类允许定义的属性就是它自己的__slots___加上父类___slots__。
3.实例
>>>classGraduateStudent(Student): ...pass ... >>>g=GraduateStudent() >>>g.score=9999
以上是python的使用__slots__定义类属性的方法,在学习了slots的基本使用之后,可以尝试一下它定义的例子,代码在上面和大家分享。
(推荐操作系统:windows7系统Python 3.9.1,DELL G3电脑。)