技术文章 > Python技术 >  Python基础教程 > 正文

python中使用__slots__定义类属性

小妮浅浅

我们想要实现类的属性,但又希望这个类的属性能有限制,这时候class的方法就需要做一些调整。在class中有一个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的基础使用后,可以就其定义的实例展开尝试,代码在上方都分享给大家了。

免费视频教程
本教程部分素材来源于网络,版权问题联系站长!
相关文章
  python和go语言的九点对比
  python中的unittest框架是什么?
  python中class如何绑定实例?
  python中使用__slots__定义类属性
相关视频章节
  什么是tkinter窗口
  例子3 登录窗口
  例子2 登录窗口
  例子1 登录窗口
  pack grid place 放置位置
作者信息

小妮浅浅

认证0级讲师

最近文章
python在协程中增加任务 458
python pyg2plot的原理 354
python中pyg2plot如何使用? 161
推荐视频
视频教程分类