您现在的位置是:课程教程文章
python中使用__slots__定义类属性
2023-12-14 22:46课程教程文章 人已围观
-
手把手教你学Python(进阶篇)
手把手教你学Python(进阶篇)人工智能时代,编程已成为一项基本技能。 国内一些发达省市,已将编程纳入... -
Python全栈开发/Flask/项目实战/Web开发/博客
Python全栈开发/Flask/项目实战/Web开发/博客蜗牛学院专注于IT与互联网领域中高端人才培养 现已开设:Java开发、软件测试... -
人工智能python机器学习实战开发基础课
人工智能python机器学习实战开发基础课... -
微信支付v3版python_关闭订单
微信支付v3版python_关闭订单微信支付V3版系列课程详细讲解微信支付的 JSAPI支付 、 H5支付 、 Native支付 、...
我们想要实现类的属性,但又希望这个类的属性能有限制,这时候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的基础使用后,可以就其定义的实例展开尝试,代码在上方都分享给大家了。
(推荐操作系统:windows7系统、Python 3.9.1,DELL G3电脑。)
课程教程:python中使用__slots__定义类属性下一篇:没有了