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是编译运行的验证方法
Jan 30 Python
Python简单遍历字典及删除元素的方法
Sep 18 Python
利用Python实现Windows定时关机功能
Mar 21 Python
[原创]使用豆瓣提供的国内pypi源
Jul 02 Python
python 日期操作类代码
May 05 Python
django框架之cookie/session的使用示例(小结)
Oct 15 Python
python得到一个excel的全部sheet标签值方法
Dec 10 Python
python+webdriver自动化环境搭建步骤详解
Jun 03 Python
Python中的十大图像处理工具(小结)
Jun 10 Python
Python时间差中seconds和total_seconds的区别详解
Dec 26 Python
python实现一次性封装多条sql语句(begin end)
Jun 06 Python
Python logging模块异步线程写日志实现过程解析
Jun 30 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使用cookie实现记住用户名和密码实现代码
2015/04/27 PHP
ThinkPHP实现更新数据实例详解(demo)
2016/06/29 PHP
PHP实现单例模式建立数据库连接的方法分析
2020/02/11 PHP
YII2框架中添加自定义模块的方法实例分析
2020/03/18 PHP
图片按比例缩放函数
2006/06/26 Javascript
JavaScript 验证浏览器是否支持javascript的方法小结
2009/05/17 Javascript
javascript 弹出窗口中是否显示地址栏的实现代码
2011/04/14 Javascript
jquery自定义属性(类型/属性值)
2013/05/21 Javascript
JAVASCRIPT模式窗口中下载文件无法接收iframe的流
2013/10/11 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
2016/11/23 Javascript
jquery网页日历显示控件calendar3.1使用详解
2016/11/24 Javascript
原生js实现验证码功能
2017/03/16 Javascript
浅谈express 中间件机制及实现原理
2017/08/31 Javascript
vue封装第三方插件并发布到npm的方法
2017/09/25 Javascript
利用nodeJs anywhere搭建本地服务器环境的方法
2018/05/12 NodeJs
封装一下vue中的axios示例代码详解
2020/02/16 Javascript
《javascript设计模式》学习笔记五:Javascript面向对象程序设计工厂模式实例分析
2020/04/08 Javascript
[57:41]Secret vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
将Django框架和遗留的Web应用集成的方法
2015/07/24 Python
浅谈python爬虫使用Selenium模拟浏览器行为
2018/02/23 Python
python3 求约数的实例
2019/12/05 Python
python实现logistic分类算法代码
2020/02/28 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
2020/06/30 Python
学习Python爬虫的几点建议
2020/08/05 Python
Python datetime 如何处理时区信息
2020/09/02 Python
Python爬取梨视频的示例
2021/01/29 Python
一款纯css3实现的鼠标悬停动画按钮
2014/12/29 HTML / CSS
SmartBuyGlasses美国官网:太阳眼镜和眼镜
2017/08/20 全球购物
Chantelle仙黛尔内衣美国官网:法国第一品牌内衣
2018/07/26 全球购物
越南综合购物网站:Lazada越南
2019/06/10 全球购物
资深生产主管自我评价
2013/09/22 职场文书
历史系毕业生自荐信
2013/10/28 职场文书
绝对经典成功的大学生推荐信
2013/11/08 职场文书
无工作证明怎么写
2015/06/15 职场文书
深入详解JS函数的柯里化
2021/06/09 Javascript
Innodb存储引擎中的后台线程详解
2022/04/03 MySQL