知行编程网知行编程网  2022-11-23 22:00 知行编程网 隐藏边栏  1 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python中使用__slots__定义类属性的相关知识,希望可以帮到处于编程学习途中的小伙伴

我们想实现类的属性,但是也希望这个类的属性可以被限制。这时候就需要调整类的方法了。类中有一个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电脑。)

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享