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进行稳定可靠的文件操作详解
Dec 31 Python
在Windows8上的搭建Python和Django环境
Jul 03 Python
python实现从ftp服务器下载文件的方法
Apr 30 Python
Python函数式编程指南(四):生成器详解
Jun 24 Python
windows 10下安装搭建django1.10.3和Apache2.4的方法
Apr 05 Python
如何用itertools解决无序排列组合的问题
May 18 Python
Python语言描述KNN算法与Kd树
Dec 13 Python
详解python 注释、变量、类型
Aug 10 Python
详解python读取和输出到txt
Mar 29 Python
django admin.py 外键,反向查询的实例
Jul 26 Python
Python编解码问题及文本文件处理方法详解
Jun 20 Python
python实现MD5进行文件去重的示例代码
Jul 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
PHP中路径问题的解决方案
2006/10/09 PHP
怎样才能成为PHP高手?学会“懒惰”的编程
2006/12/05 PHP
php下一个阿拉伯数字转中文数字的函数
2007/07/16 PHP
php 学习资料零碎东西
2010/12/04 PHP
PHP number_format() 函数定义和用法
2012/06/01 PHP
PHP递归调用的小技巧讲解
2013/02/19 PHP
FireFox JavaScript全局Event对象
2009/06/14 Javascript
js DOM的学习笔记
2011/12/22 Javascript
JS操作JSON要领详细总结
2013/08/25 Javascript
jquery中ajax跨域方法实例分析
2015/12/18 Javascript
JS中的二叉树遍历详解
2016/03/18 Javascript
BootStrap创建响应式导航条实例代码
2016/05/31 Javascript
AngularJS实现用户登录状态判断的方法(Model添加拦截过滤器,路由增加限制)
2016/12/12 Javascript
解决Vue页面固定滚动位置的处理办法
2017/07/13 Javascript
js微信应用场景之微信音乐相册案例分享
2017/08/11 Javascript
微信小程序通过保存图片分享到朋友圈功能
2018/05/24 Javascript
微信小程序封装的HTTP请求示例【附升级版】
2019/05/11 Javascript
es6函数之严格模式用法实例分析
2020/03/17 Javascript
JS浏览器BOM常见操作实例详解
2020/04/27 Javascript
[15:58]DOTA2国际邀请赛采访专栏:Tongfu.Sansheng&KingJ,DK.rOtk
2013/08/08 DOTA
整理Python中的赋值运算符
2015/05/13 Python
OpenCV实现人脸识别
2017/04/07 Python
详解python读取image
2019/04/03 Python
Python常用模块之requests模块用法分析
2019/05/15 Python
python读取大文件越来越慢的原因与解决
2019/08/08 Python
Python  Django 母版和继承解析
2019/08/09 Python
Django上线部署之IIS的配置方法
2019/08/22 Python
django-rest-swagger对API接口注释的方法
2019/08/29 Python
Html5中的桌面通知Notification的实现
2018/09/25 HTML / CSS
DERMAdoctor官网:美国著名皮肤护理品牌
2019/07/06 全球购物
数据库笔试题
2013/05/09 面试题
财经学院自荐信范文
2014/02/02 职场文书
无财产无子女离婚协议书范文
2014/09/14 职场文书
我们的节日元宵节活动总结
2015/02/06 职场文书
2015年全国爱眼日活动方案
2015/05/05 职场文书
党小组意见范文
2015/06/08 职场文书