python中super的使用注意
- 更新时间:2021-08-02 09:52:45
- 编辑:于博超
给网友们整理相关的编程文章,网友池云岚根据主题投稿了本篇教程内容,涉及到Python相关内容,已被697网友关注,下面的电子资料对本篇知识点有更加详尽的解释。
参考资料
- Python极客项目编程 PDF 电子书 / 6.5 MB / Mahesh Venkitachalam 推荐度:
- 《Python开发技术大全》配书资源 配套资源 / 3.9 MB / 吴仲治 推荐度:
- 机器学习系统设计:Python语言实现 PDF 电子书 / 84.5 MB / 戴维·朱利安 推荐度:
- Python大战机器学习:数据科学家的第一个小目标 PDF 电子书 / 76.8 MB / 华校专,王正林 推荐度:
- Python 3图像处理实战 PDF 电子书 / 81.9 MB / 阿什温·帕扬卡尔 推荐度:
正文内容
这是一篇很好的python技术文章,觉得应该跟大家分享,扩充了更多相关实例,希望大家能有所收获。
1、super()只能用于新式类中
所谓新式类,旧类的,关键就是看是不是有基类,有基类的就是形式类,比如class A(object),所以class A()自然就是旧式类了。
# 单继承 class A(object): def __init__(self, a, b): self.a = a self.b = b def sayHello(self): print('this is class A, a={},b={}'.format(self.a, self.b)) class B(A): def __init__(self, a, b, c): super(B, self).__init__(a,b) self.c = c def sayHello(self): super(B, self).sayHello() print('this is b call') b = B('b','also b','test') b.sayHello() # this is class A, a=b,b=also b # this is b call
2、super 其实和父类没有实质性的关联
多重继承下,super就没有那么简单了。
# 多重继承 class Base(object): def __init__(self): print('enter Base') print('out Base') class A(Base): def __init__(self): print('enter A') super(A, self).__init__() print('out A') class B(Base): def __init__(self): print('enter B') super(B, self).__init__() print('out B') class C(A, B): def __init__(self): print('enter C') super(C, self).__init__() print('out C') c = C() #enter C #enter A #enter B #enter Base #out Base #out B #out A #out C
以上就是python中super的使用注意,希望能对大家有所帮助。更多Python学习指路:
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
相关教程
-
Python3中在Anaconda环境下安装basemap包
今天小编就为大家分享一篇关于Python3中在Anaconda环境下安装basemap包的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
发布时间:2019-06-03
-
python为什么要缩进控制
因为Python中的缩进(Indentation)决定了代码的作用域范围。缩进不对就很容易报错!
发布时间:2019-08-27