当前位置: 首页 > 图灵资讯 > 行业资讯> python中super的使用注意

python中super的使用注意

来源:图灵python
时间: 2024-08-27 13:43:49

1、super()只能用于新型类别

所谓的新类,旧类,关键是看是否有基类,有基类就是形式类,比如classs A(object),所以class A()自然是老式的。

#单继承
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学习指导:python基础教程

本文教程操作环境:windows7系统Python 3.9.1,DELL G3电脑。