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实现自动添加脚本头信息的示例代码
Sep 02 Python
Python探索之自定义实现线程池
Oct 27 Python
Python yield与实现方法代码分析
Feb 06 Python
Python实现找出数组中第2大数字的方法示例
Mar 26 Python
Python实现计算字符串中出现次数最多的字符示例
Jan 21 Python
详解pandas的外部数据导入与常用方法
May 01 Python
Python控制Firefox方法总结
Jun 03 Python
tensorflow 实现从checkpoint中获取graph信息
Feb 10 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
Feb 11 Python
Python3和PyCharm安装与环境配置【图文教程】
Feb 14 Python
利用 Python ElementTree 生成 xml的实例
Mar 06 Python
如何利用python发送邮件
Sep 26 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
PHP 字符串操作入门教程
2006/12/06 PHP
使用PHP实现二分查找算法代码分享
2011/06/24 PHP
PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
2011/09/19 PHP
PHP操作路由器实现方法示例
2019/04/27 PHP
javascript removeChild 使用注意事项
2009/04/11 Javascript
JQuery 操作Javascript对象和数组的工具函数小结
2010/01/22 Javascript
jQuery EasyUI API 中文文档 - Tabs标签页/选项卡
2011/10/01 Javascript
正负小数点后两位浮点数实现原理及代码
2013/09/06 Javascript
JavaScript中的数组特性介绍
2014/12/30 Javascript
javascript原型模式用法实例详解
2015/06/04 Javascript
动态加载js、css的实例代码
2016/05/26 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
2016/09/13 Javascript
完美的js div拖拽实例代码
2016/09/24 Javascript
angular中不同的组件间传值与通信的方法
2017/11/04 Javascript
浅谈webpack4 图片处理汇总
2018/09/12 Javascript
angularJS实现不同视图同步刷新详解
2018/10/09 Javascript
vue 父组件给子组件传值子组件给父组件传值的实例代码
2019/04/15 Javascript
深入学习Vue nextTick的用法及原理
2019/10/08 Javascript
vue+elementUi 实现密码显示/隐藏+小图标变化功能
2020/01/18 Javascript
js实现九宫格布局效果
2020/05/28 Javascript
微信小程序用户登录和登录态维护的实现
2020/12/10 Javascript
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
OPENCV去除小连通区域,去除孔洞的实例讲解
2018/06/21 Python
python写程序统计词频的方法
2019/07/29 Python
Python PyQt5整理介绍
2020/04/01 Python
浅析Python 责任链设计模式
2020/09/11 Python
墨西哥运动服饰和鞋网上商店:Netshoes墨西哥
2016/07/28 全球购物
Lee牛仔裤澳大利亚官网:美国著名牛仔裤品牌
2017/09/02 全球购物
校本教研工作方案
2014/01/14 职场文书
新三好学生主要事迹
2014/01/23 职场文书
送餐员岗位职责范本
2014/02/21 职场文书
2014年外联部工作总结
2014/11/17 职场文书
2014年设计师工作总结
2014/11/25 职场文书
小学生交通安全寄语
2015/02/27 职场文书
求职自荐信怎么写
2015/03/04 职场文书
退伍军人感言
2015/08/01 职场文书