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-11 23:31:59新手学Python用什么编辑器比较好?
工欲善其事必先利其器,选好工具学习更高效。市面上流行的编辑器众多,根据自己的需求选择适合自己。p小白可以选择pycharm配置简单功能强大使用...详情>>
2023-11-11 22:54:28Python 中 Logging 模块使用详情
1.为什么要用logging模块在实际应用中,日志文件十分重要,通过日志文件,我们知道程序运行的细节;同时,当程序出问题时,我们也可以通过日志快...详情>>
2023-11-11 21:59:42python学习进阶方法
阶段一:前辈领进门。第一眼是一个前辈给我看了看Python的代码,因为自己最早学习的是Java语言,第一眼看到Python的时候,前辈说,“Python是面...详情>>
2023-11-11 20:20:18