pythonsuper的使用注意
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培训机构:千锋教育。
相关推荐HOT
更多>>python函数标注是什么
python函数标注是什么在参数的使用方法中,还有一种解包的情况是需要我们掌握的。比如,将列表或者字典的值转换为函数的参数,就需要用到参数解...详情>>
2023-11-14 14:13:35python正负索引的使用
python正负索引的使用本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。1、说明使用正索引(从左至右)、负索引(从右至左)访问元素,时...详情>>
2023-11-14 13:45:04python垃圾回收的机制过程
python垃圾回收的机制过程本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。1、步骤(1)收集所有容器对象(list,dict,tuple,customClas...详情>>
2023-11-14 13:05:15pythontry语句的执行原理
pythontry语句的执行原理1、原理分析(1)执行try子句(try和except关键字之间的多行语句)。(2)如果没有异常发生,则跳过except子句并完成try语句...详情>>
2023-11-14 09:37:35