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简明入门教程
Aug 04 Python
Python 类与元类的深度挖掘 II【经验】
May 06 Python
Python单体模式的几种常见实现方法详解
Jul 28 Python
一道python走迷宫算法题
Jan 22 Python
Python自定义一个类实现字典dict功能的方法
Jan 19 Python
Python 类的私有属性和私有方法实例分析
Sep 29 Python
python计算n的阶乘的方法代码
Oct 25 Python
使用python实现画AR模型时序图
Nov 20 Python
Django中FilePathField字段的用法
May 21 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
Aug 26 Python
Python 操作SQLite数据库的示例
Oct 16 Python
django上传文件的三种方式
Apr 29 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中使用key,value,current,next和prev函数遍历数组的方法
2015/03/17 PHP
PHP实现限制IP访问的方法
2017/04/20 PHP
用 JavaScript 迁移目录
2006/12/18 Javascript
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
js的表单操作 简单计算器
2011/12/29 Javascript
JavaScript常用对象的方法和属性小结
2012/01/24 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
2013/09/27 Javascript
JS中的数组的sort方法使用示例
2014/01/22 Javascript
javascript正则表达式中的replace方法详解
2015/04/20 Javascript
很实用的js选项卡切换效果
2016/08/12 Javascript
js前端实现多图图片上传预览的两个方法(推荐)
2016/11/18 Javascript
学习vue.js条件渲染
2016/12/03 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
2020/11/24 Javascript
jquery实现回车键触发事件(实例讲解)
2017/11/21 jQuery
Vue 换肤的示例实践
2018/01/23 Javascript
js input输入百分号保存数据库失败的解决方法
2018/05/26 Javascript
jquery将信息遍历到界面上实例代码
2020/01/21 jQuery
Javascript作用域和作用域链原理解析
2020/03/03 Javascript
[01:25]2014DOTA2国际邀请赛 zhou分析LGD比赛情况
2014/07/14 DOTA
[02:23]完美世界全国高校联赛街访DOTA2第一期
2019/11/28 DOTA
Python实现爬取知乎神回复简单爬虫代码分享
2015/01/04 Python
Python之py2exe打包工具详解
2017/06/14 Python
Python实现图片转字符画的示例代码
2017/08/21 Python
详解flask入门模板引擎
2018/07/18 Python
python 根据时间来生成唯一的字符串方法
2019/01/14 Python
python实现趣味图片字符化
2019/04/30 Python
Python集成开发工具Pycharm的安装和使用详解
2020/03/18 Python
Python+Selenium实现自动化的环境搭建的步骤(图文)
2020/09/01 Python
HTML5实现应用程序缓存(Application Cache)
2020/06/16 HTML / CSS
Timberland澳大利亚官网:全球领先的户外品牌
2019/12/10 全球购物
介绍一些UNIX常用简单命令
2014/11/11 面试题
企业文化理念标语
2014/06/10 职场文书
个人批评与自我批评范文
2014/10/17 职场文书
交警正风肃纪剖析材料
2014/10/29 职场文书
德能勤绩廉个人总结
2015/02/14 职场文书
2016年119消防宣传日活动总结
2016/04/05 职场文书