我们想实现类的属性,但是也希望这个类的属性可以被限制。这时候就需要调整类的方法了。类中有一个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生成随机数?08/14
- ♥ Python 中的 7 个实用技巧!12/20
- ♥ MySQL为什么提示没有安装Python11/03
- ♥ Python PyQt 菜单的动态填充12/23
- ♥ 如何在 python IDE (PyCharm) 中取消书签?10/09
- ♥ 如何用日历输出python3时间?01/11
内容反馈