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中的一些类型转换函数小结
Feb 10 Python
python爬虫面试宝典(常见问题)
Mar 02 Python
pandas带有重复索引操作方法
Jun 08 Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
Oct 17 Python
Python企业编码生成系统之主程序模块设计详解
Jul 26 Python
Python序列化与反序列化pickle用法实例
Nov 11 Python
python实现批量处理将图片粘贴到另一张图片上并保存
Dec 12 Python
Python使用enumerate获取迭代元素下标
Feb 03 Python
对Python 字典元素进行删除的方法
Jul 31 Python
Python进度条的使用
May 17 Python
聊聊pytorch测试的时候为何要加上model.eval()
May 23 Python
在Python中如何使用yield
Jun 07 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
与数据库连接
2006/10/09 PHP
PHP中isset()和unset()函数的用法小结
2014/03/11 PHP
jquery文档操作wrap()方法实例简述
2015/01/10 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
2015/08/25 Javascript
分享JavaScript监听全部Ajax请求事件的方法
2016/08/28 Javascript
Javascript实现倒计时(防页面刷新)实例
2016/12/13 Javascript
bootstrap是什么_动力节点Java学院整理
2017/07/14 Javascript
详解vue前后台数据交互vue-resource文档
2017/07/19 Javascript
vue项目中vue-i18n和element-ui国际化开发实现过程
2018/04/25 Javascript
一个Vue视频媒体多段裁剪组件的实现示例
2018/08/09 Javascript
使用VUE+iView+.Net Core上传图片的方法示例
2019/01/04 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
2019/05/08 Javascript
微信小程序webview组件交互,内联h5页面并网页实现微信支付实现解析
2019/08/16 Javascript
vue axios请求成功却进入catch的原因分析
2020/09/08 Javascript
[01:14]DOTA2亚洲邀请赛 ShowOpen
2015/02/07 DOTA
Python3学习笔记之列表方法示例详解
2017/10/06 Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
2018/02/18 Python
Python 判断奇数偶数的方法
2018/12/20 Python
详解python中groupby函数通俗易懂
2020/05/14 Python
CSS3点击按钮实现背景渐变动画效果
2016/10/19 HTML / CSS
html5组织内容_动力节点Java学院整理
2017/07/10 HTML / CSS
HTML5 文件域+FileReader 分段读取文件并上传到服务器
2017/10/23 HTML / CSS
Sneaker Studio法国:购买运动鞋
2018/06/08 全球购物
Notino匈牙利:购买香水和化妆品
2019/04/12 全球购物
C面试题
2015/10/08 面试题
经典导游欢迎词大全
2014/01/16 职场文书
保卫科工作岗位职责
2014/03/01 职场文书
服装店营销方案
2014/03/10 职场文书
护理医院见习报告
2014/11/03 职场文书
民间借贷借条如何写
2015/05/26 职场文书
学历证明范文
2015/06/16 职场文书
2016五一劳动节慰问信
2015/11/30 职场文书
2019年教师入党申请书
2019/06/27 职场文书
小程序wx.getUserProfile接口的具体使用
2021/06/02 Javascript
JavaScript中isPrototypeOf函数
2021/11/07 Javascript
PYTHON基于Pyecharts绘制常见的直角坐标系图表
2022/04/28 Python