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 27 Python
Python使用pip安装报错:is not a supported wheel on this platform的解决方法
Jan 23 Python
python批量导入数据进Elasticsearch的实例
May 30 Python
详解Python 切片语法
Jun 10 Python
用Python从0开始实现一个中文拼音输入法的思路详解
Jul 20 Python
python实现各种插值法(数值分析)
Jul 30 Python
python并发编程 Process对象的其他属性方法join方法详解
Aug 20 Python
python利用openpyxl拆分多个工作表的工作簿的方法
Sep 27 Python
Pytorch基本变量类型FloatTensor与Variable用法
Jan 08 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
Jan 18 Python
Python selenium爬虫实现定时任务过程解析
Jun 08 Python
python如何查看安装了的模块
Jun 23 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数据库抽象层 PDO
2011/05/07 PHP
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
2012/08/31 PHP
php中current、next与reset函数用法实例
2014/11/17 PHP
PHP内核学习教程之php opcode内核实现
2016/01/27 PHP
Laravel5.3+框架定义API路径取消CSRF保护方法详解
2020/04/06 PHP
基于jQuery的模仿新浪微博时间的组件
2011/10/04 Javascript
Javascript中自动切换焦点实现代码
2012/12/15 Javascript
JQuery入门——事件切换之toggle()方法应用介绍
2013/02/05 Javascript
一个简单的瀑布流效果(主体形式自写)
2013/05/27 Javascript
JavaScript中的公有、私有、特权和静态成员用法分析
2014/11/20 Javascript
js获取url传值的方法
2015/12/18 Javascript
纯js模仿windows系统日历
2017/02/04 Javascript
原生js FileReader对象实现图片上传本地预览效果
2020/03/27 Javascript
js中事件对象和事件委托的介绍
2019/01/21 Javascript
Vue 处理表单input单行文本框的实例代码
2019/05/09 Javascript
移动端JS实现拖拽两种方法解析
2020/10/12 Javascript
详解基于element的区间选择组件校验(交易金额)
2021/01/07 Javascript
python的三目运算符和not in运算符使用示例
2014/03/03 Python
python写的ARP攻击代码实例
2014/06/04 Python
python实现斐波那契递归函数的方法
2014/09/08 Python
python实现自动登录后台管理系统
2018/10/18 Python
Pycharm无法显示动态图片的解决方法
2018/10/28 Python
Python字符串处理的8招秘籍(小结)
2019/08/13 Python
Python气泡提示与标签的实现
2020/04/01 Python
TensorFlow-gpu和opencv安装详细教程
2020/06/30 Python
使用Python下载抖音各大V视频的思路详解
2021/02/06 Python
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
2014/09/26 面试题
护士个人简历自荐信
2013/10/18 职场文书
给排水工程师岗位职责
2013/11/21 职场文书
车间班长岗位职责
2013/11/30 职场文书
高中同学聚会邀请函
2014/01/11 职场文书
学生实习证明范文
2014/09/28 职场文书
《倍数和因数》教学反思
2016/02/23 职场文书
vue首次渲染全过程
2021/04/21 Vue.js
nginx配置文件使用环境变量的操作方法
2021/06/02 Servers
vue特效之翻牌动画
2022/04/20 Vue.js