python多继承(钻石继承)问题和解决方法简单示例


Posted in Python onOctober 21, 2019

本文实例讲述了python多继承(钻石继承)问题和解决方法。分享给大家供大家参考,具体如下:

在菱形多继承中,如果用父类.__init__()来调用父类的初始化方法,最上层会执行两次,所以遇到这种情况,python中用super.__init__()来解决这个问题。

# -*- coding:utf-8 -*-
#! python3
class Grand_father(object):
  def __init__(self):
    print('爷爷')
class Father_left(Grand_father):
  def __init__(self):
    super(Father_left,self).__init__()
    # Grand_father.__init__(self)
    print('左边爸爸')
class Father_right(Grand_father):
  def __init__(self):
    super(Father_right, self).__init__()
    # Grand_father.__init__(self)
    print('右边爸爸')
class Me(Father_right,Father_left):
  def __init__(self):
    super(Me, self).__init__()
    # Father_left.__init__(self)
    # Father_right.__init__(self)
    print('我')
def main():
  me = Me()
if __name__ == '__main__':
  main()

运行结果:

爷爷
左边爸爸
右边爸爸

如果需要调用左边爸爸,那就执行super(右边爸爸类).

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python executemany的使用及注意事项
Mar 13 Python
Python中的命令行参数解析工具之docopt详解
Mar 27 Python
Python 实现链表实例代码
Apr 07 Python
实例讲解Python中浮点型的基本内容
Feb 11 Python
python的pstuil模块使用方法总结
Jul 26 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
Oct 17 Python
python实现npy格式文件转换为txt文件操作
Jul 01 Python
Keras 中Leaky ReLU等高级激活函数的用法
Jul 05 Python
Python QTimer实现多线程及QSS应用过程解析
Jul 11 Python
python 生成正态分布数据,并绘图和解析
Dec 21 Python
用python制作个音乐下载器
Jan 30 Python
快速一键生成Python爬虫请求头
Mar 04 Python
python超时重新请求解决方案
Oct 21 #Python
详解python中*号的用法
Oct 21 #Python
python中bytes和str类型的区别
Oct 21 #Python
python中@property和property函数常见使用方法示例
Oct 21 #Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
Oct 21 #Python
基于python解线性矩阵方程(numpy中的matrix类)
Oct 21 #Python
python打印直角三角形与等腰三角形实例代码
Oct 20 #Python
You might like
利用static实现表格的颜色隔行显示的代码
2007/09/02 PHP
PHP遍历数组的几种方法
2012/03/22 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
2012/10/24 PHP
php注册登录系统简化版
2020/12/28 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
2020/10/27 PHP
JS获取父节点方法
2009/08/20 Javascript
javascript事件问题
2009/09/05 Javascript
JavaScript 垃圾回收机制分析
2013/10/10 Javascript
打造个性化的功能强大的Jquery虚拟键盘(VirtualKeyboard)
2014/10/11 Javascript
jQuery菜单插件用法实例
2015/07/25 Javascript
javascript设置页面背景色及背景图片的方法
2015/12/29 Javascript
原生javascript实现匀速运动动画效果
2016/02/26 Javascript
Vuejs第十二篇之动态组件全面解析
2016/09/09 Javascript
node操作mysql数据库实例详解
2017/03/17 Javascript
bootstrap daterangepicker汉化以及扩展功能
2017/06/15 Javascript
PHP 实现一种多文件上传的方法
2017/09/20 Javascript
js函数和this用法实例分析
2020/03/13 Javascript
JavaScript字符和ASCII实现互相转换
2020/06/03 Javascript
js+css实现扇形导航效果
2020/08/18 Javascript
[49:35]LGD vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
Python批量按比例缩小图片脚本分享
2015/05/21 Python
python基于pyDes库实现des加密的方法
2017/04/29 Python
python skimage 连通性区域检测方法
2018/06/21 Python
Django中更改默认数据库为mysql的方法示例
2018/12/05 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
超全Python图像处理讲解(多模块实现)
2020/04/13 Python
pycharm 对代码做静态检查操作
2020/06/09 Python
基于python模拟TCP3次握手连接及发送数据
2020/11/06 Python
python实现视频压缩功能
2020/12/18 Python
Giuseppe Zanotti美国官方网站:将鞋履视为高级时装般精心制作
2018/02/06 全球购物
美国宠物美容和宠物用品购物网站:Cherrybrook
2018/12/07 全球购物
Roxy荷兰官方网站:冲浪、滑雪板、服装和配件
2019/10/22 全球购物
教师校本培训方案
2014/02/26 职场文书
2015年社区矫正工作总结
2015/04/21 职场文书
2019年大学生学年自我鉴定!
2019/03/25 职场文书
使用 Apache 反向代理的设置技巧
2022/01/18 Servers