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和pyqt实现360的CLable控件
Feb 21 Python
Python多线程编程(一):threading模块综述
Apr 05 Python
python创建临时文件夹的方法
Jul 06 Python
Python制作爬虫采集小说
Oct 25 Python
python中将字典形式的数据循环插入Excel
Jan 16 Python
用python统计代码行的示例(包括空行和注释)
Jul 24 Python
在Django model中设置多个字段联合唯一约束的实例
Jul 17 Python
PyTorch 解决Dataset和Dataloader遇到的问题
Jan 08 Python
解决python gdal投影坐标系转换的问题
Jan 17 Python
python实现梯度法 python最速下降法
Mar 24 Python
Python with语句用法原理详解
Jul 03 Python
Python 连接 MySQL 的几种方法
Sep 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上传图片进行等比缩放可增加水印功能
2014/01/13 PHP
常用的php图片处理类(水印、等比缩放、固定高宽)分享
2015/06/19 PHP
PHP 序列化和反序列化函数实例详解
2020/07/18 PHP
Laravel使用Queue队列的技巧汇总
2019/09/02 PHP
Tab页界面,用jQuery及Ajax技术实现
2009/09/21 Javascript
从数组中随机取x条不重复数据的JS代码
2013/12/24 Javascript
js确认删除对话框效果的示例代码
2014/02/20 Javascript
详解JavaScript中void语句的使用
2015/06/04 Javascript
Js的Array数组对象详解
2016/02/22 Javascript
js 判断登录界面的账号密码是否为空
2017/02/08 Javascript
JavaScript 函数节流详解及方法总结
2017/02/09 Javascript
Vue封装Swiper实现图片轮播效果
2018/02/06 Javascript
vue修改对象的属性值后页面不重新渲染的实例
2018/08/09 Javascript
解决Angular4项目部署到服务器上刷新404的问题
2018/08/31 Javascript
关于单文件组件.vue的使用
2018/09/20 Javascript
[01:56]林书豪DOTA2上海特级锦标赛励志短片
2016/03/05 DOTA
进一步了解Python中的XML 工具
2015/04/13 Python
Python处理字符串之isspace()方法的使用
2015/05/19 Python
Python基于有道实现英汉字典功能
2015/07/25 Python
python difflib模块示例讲解
2017/09/13 Python
Python爬虫 bilibili视频弹幕提取过程详解
2019/07/31 Python
无需压缩软件,用python帮你操作压缩包
2020/08/17 Python
Python 如何操作 SQLite 数据库
2020/08/17 Python
德国自然时尚和有机产品购物网站:Waschbär
2019/05/29 全球购物
波兰品牌鞋履在线商店:Eastend.pl
2020/01/11 全球购物
JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
2013/07/02 面试题
学校三八妇女节活动情况总结
2014/03/09 职场文书
中班幼儿评语大全
2014/04/30 职场文书
消防安全宣传口号
2014/06/10 职场文书
离职证明范本(5篇)
2014/09/19 职场文书
旅游投诉信范文
2015/07/02 职场文书
获奖感言怎么写
2015/07/31 职场文书
QT与javascript交互数据的实现
2021/05/26 Javascript
Spring Cloud Gateway去掉url前缀
2021/07/15 Java/Android
SQL SERVER触发器详解
2022/02/24 SQL Server
DQL数据查询语句使用示例
2022/12/24 MySQL