我们想实现类的属性,但是也希望这个类的属性可以被限制。这时候就需要调整类的方法了。类中有一个slots变量,可以完成类属性的定义,但是定义的是当前类。如果要应用到子类,还需要进一步的操作。接下来介绍定义slots的方法,然后讲解__slots__定义类属性的方法。
1.定义slots
创建一个类属性,使用 slots 这个名字,并把它的值
设为一个字符串构成的可迭代对象
,其中各个元素表示各个实例属性。
# 只在 Vector2d 类中添加了__slots__ 属性
class Vector2d:
__slots__ = ('__x', '__y')
typecode = 'd'
2.使用注意
(1) __slots__定义的属性只对当前类起作用,对继承的子类不起作用;
(2) 除非子类中也定义了__slots__,这样子类允许定义的属性就是自己的__slots__加上父类的__slots__。
3.实例
>>> class GraduateStudent(Student):
... pass
...
>>> g = GraduateStudent()
>>> g.score = 9999
以上就是python中使用__slots__定义类属性的方法。学习了slots的基本使用之后,就可以试试它定义的例子了。代码分享给上面的大家。
(推荐操作系统:windows7系统、Python 3.9.1,DELL G3电脑。)
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python生成器函数的特点12/04
- ♥ 使用Python开发Excel宏脚本的神器!09/01
- ♥ 如何在python线程中使用双端队列?12/20
- ♥ Python的openpyxl插入折线图方法11/01
- ♥ python如何转义字符?12/22
- ♥ python如何进行分数计算08/26
内容反馈