创新互联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的基础使用后,可以就其定义的实例展开尝试,代码在上方都分享给大家了。

(推荐操作系统:windows7系统、Python 3.9.1,DELL G3电脑。)

分享标题:创新互联Python教程:python中使用__slots__定义类属性
URL网址:http://www.shufengxianlan.com/qtweb/news40/158240.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联