千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > pythonsuper的使用注意

pythonsuper的使用注意

来源:千锋教育
发布人:xqq
时间: 2023-11-13 21:58:29 1699883909

python中super的使用注意

1、super()只能用于新式类中

所谓新式类,旧类的,关键就是看是不是有基类,有基类的就是形式类,比如classA(object),所以classA()自然就是旧式类了。

#单继承

classA(object):

def__init__(self,a,b):

self.a=a

self.b=b

defsayHello(self):

print('thisisclassA,a={},b={}'.format(self.a,self.b))

classB(A):

def__init__(self,a,b,c):

super(B,self).__init__(a,b)

self.c=c

defsayHello(self):

super(B,self).sayHello()

print('thisisbcall')

b=B('b','alsob','test')

b.sayHello()

#thisisclassA,a=b,b=alsob

#thisisbcall

2、super其实和父类没有实质性的关联

多重继承下,super就没有那么简单了。

#多重继承

classBase(object):

def__init__(self):

print('enterBase')

print('outBase')

classA(Base):

def__init__(self):

print('enterA')

super(A,self).__init__()

print('outA')

classB(Base):

def__init__(self):

print('enterB')

super(B,self).__init__()

print('outB')

classC(A,B):

def__init__(self):

print('enterC')

super(C,self).__init__()

print('outC')

c=C()

#enterC

#enterA

#enterB

#enterBase

#outBase

#outB

#outA

#outC

以上就是python中super的使用注意,希望能对大家有所帮助。更多Python学习教程请关注IT培训机构:千锋教育。

tags: python培训
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT