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 相关文章推荐
gearman的安装启动及python API使用实例
Jul 08 Python
给Python初学者的一些编程技巧
Apr 03 Python
Python sys.argv用法实例
May 28 Python
Windows下实现Python2和Python3两个版共存的方法
Jun 12 Python
浅谈django中的认证与登录
Oct 31 Python
Python实现mysql数据库更新表数据接口的功能
Nov 19 Python
Python函数的参数常见分类与用法实例详解
Mar 30 Python
Django使用unittest模块进行单元测试过程解析
Aug 02 Python
打包PyQt5应用时的注意事项
Feb 14 Python
Python爬虫爬取电影票房数据及图表展示操作示例
Mar 27 Python
python对一个数向上取整的实例方法
Jun 18 Python
python smtplib发送多个email联系人的实现
Oct 09 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
将博客园(cnblogs.com)数据导入到wordpress的代码
2013/01/06 PHP
深入解析php之apc
2013/05/15 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
2014/10/30 PHP
php结合ACCESS的跨库查询功能
2015/06/12 PHP
php实现给一张图片加上水印效果
2016/01/02 PHP
JavaScript中的View-Model使用介绍
2011/08/11 Javascript
深入理解JavaScript系列(14) 作用域链介绍(Scope Chain)
2012/04/12 Javascript
Jquery实现视频播放页面的关灯开灯效果
2013/05/27 Javascript
java与javascript之间json格式数据互转介绍
2013/10/29 Javascript
运用jQuery定时器的原理实现banner图片切换
2014/10/22 Javascript
使用JS画图之点、线、面
2015/01/12 Javascript
vue-cli入门之项目结构分析
2017/04/20 Javascript
js实现以最简单的方式将数组元素添加到对象中的方法
2017/12/20 Javascript
JS使用栈判断给定字符串是否是回文算法示例
2019/03/04 Javascript
vue踩坑记录之数组定义和赋值问题
2019/03/20 Javascript
快速对接payjq的个人微信支付接口过程解析
2019/08/15 Javascript
新手入门js闭包学习过程解析
2019/10/08 Javascript
python 读取Linux服务器上的文件方法
2018/12/27 Python
pyinstaller打包opencv和numpy程序运行错误解决
2019/08/16 Python
Python文本文件的合并操作方法代码实例
2020/03/31 Python
HTML最新标准HTML5总结(必看)
2016/06/13 HTML / CSS
Under Armour安德玛中国官网:美国高端运动科技品牌
2018/03/09 全球购物
初中三好学生事迹材料
2014/01/13 职场文书
咖啡蛋糕店创业计划书
2014/01/28 职场文书
渡河少年教学反思
2014/02/12 职场文书
联谊会主持词
2014/03/26 职场文书
优秀电子工程系毕业生求职信
2014/05/24 职场文书
国际贸易实训报告
2014/11/05 职场文书
小浪底导游词
2015/02/12 职场文书
大班下学期个人总结
2015/02/13 职场文书
新郎结婚感言
2015/07/31 职场文书
小学大队长竞选稿
2015/11/20 职场文书
2016秋季运动会开幕词
2016/03/04 职场文书
Mysql服务添加 iptables防火墙策略的方案
2021/04/29 MySQL
Python进阶学习之带你探寻Python类的鼻祖-元类
2021/05/08 Python
Mysql数据库表中为什么有索引却没有提高查询速度
2022/02/24 MySQL