python中使用__slots__定义类属性

来源:千锋教育
发布时间:2023-11-12 14:24:15
分享

python中使用__slots__定义类属性

我们想要实现类的属性,但又希望这个类的属性能有限制,这时候class的方法就需要做一些调整。在class中有一个slots变量,能够完成对类属性的定义,不过定义的是当前类,如果想要作用子类,还需进一步的操作。下面我们就定义slots的方法进行介绍,然后就__slots__定义类属性的方法展开讲解。

1.定义slots

创建一个类属性,使用slots这个名字,并把它的值设为一个字符串构成的可迭代对象,其中各个元素表示各个实例属性。

#只在Vector2d类中添加了__slots__属性

classVector2d:

__slots__=('__x','__y')

typecode='d'

2.使用注意

(1)__slots__定义的属性仅对当前类起作用,对继承的子类是不起作用的;

(2)除非在子类中也定义__slots__,这样,子类允许定义的属性就是自身的__slots__加上父类的__slots__。

3.实例

>>>classGraduateStudent(Student):

...pass

...

>>>g=GraduateStudent()

>>>g.score=9999

以上就是python中使用__slots__定义类属性的方法,在学会slots的基础使用后,可以就其定义的实例展开尝试,代码在上方都分享给大家了。更多Python学习教程请关注IT培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • python怎么打开mat文件? python怎么打开mat文件?本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。方法一:使用sicpy.io模块importscipy.ioasscioimportp
  • python中numpy.arange()函数的使用方法 python中numpy.arange()函数的使用方法本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。1、numpy.arange()函数用于生成一维数组,使用频率
  • python切片如何作为占位符使用 python切片如何作为占位符使用本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。1、切片说明切片既可以作为独立对象被“取出”原序列,也可以留在原序列,作为一种占位符
  • python中切片的浅拷贝探究 python中切片的浅拷贝探究本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。1、浅拷贝说明浅拷贝,拷贝了最外围的对象本身,内部的元素都只是拷贝了一个引用而已。也就是
  • requests在python中如何发送请求 requests在python中如何发送请求本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。1、get请求的部分参数(1)url(请求的url地址,必需)import
  • python模块有哪些内置属性? python模块有哪些内置属性?本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。1、说明一种导入的方法,可以使用import直接把模块内(函数,变量的)名称导入到当前