当前位置: 首页 > 图灵资讯 > 行业资讯> python中使用__slots__定义类属性

python中使用__slots__定义类属性

来源:图灵python
时间: 2024-09-12 10:08:23

我们想要实现类的属性,但我们也希望这个类的属性能够受到限制。此时,需要对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电脑。)