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队列的定义与使用方法示例
Jun 24 Python
Python实现学校管理系统
Jan 11 Python
对python中执行DOS命令的3种方法总结
May 12 Python
Flask实现跨域请求的处理方法
Sep 27 Python
python如何获取当前文件夹下所有文件名详解
Jan 25 Python
django 数据库连接模块解析及简单长连接改造方法
Aug 29 Python
django中上传图片分页三级联动效果的实现代码
Aug 30 Python
Python实现多线程/多进程的TCP服务器
Sep 03 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
Nov 15 Python
selenium+python实现自动登陆QQ邮箱并发送邮件功能
Dec 13 Python
python使用配置文件过程详解
Dec 28 Python
pytorch实现从本地加载 .pth 格式模型
Feb 14 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用户指南-cookies部分
2006/10/09 PHP
一步一步学习PHP(8) php 数组
2010/03/05 PHP
基于php-fpm的配置详解
2013/06/03 PHP
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
2013/10/26 PHP
php对包含html标签的字符串进行截取的函数分享
2014/06/19 PHP
对YUI扩展的Gird组件 Part-2
2007/03/10 Javascript
从盛大通行证上摘下来的身份证验证js代码
2011/01/11 Javascript
js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
2013/12/11 Javascript
html5+javascript制作简易画板附图
2014/04/25 Javascript
js实现页面跳转重定向的几种方式
2014/05/29 Javascript
最新最热最实用的15个jQuery插件汇总
2015/07/05 Javascript
jQuery实现鼠标经过时出现隐藏层文字链接的方法
2015/10/12 Javascript
JavaScript性能优化之小知识总结
2015/11/20 Javascript
MVC Ajax Helper或Jquery异步加载部分视图
2015/11/29 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
2016/07/22 Javascript
浅谈js中的变量名和函数名重名
2017/02/13 Javascript
关于echarts在节点显示动态数据及添加提示文本所遇到的问题
2018/04/20 Javascript
JS高阶函数原理与用法实例分析
2019/01/15 Javascript
微信小程序和百度的语音识别接口详解
2019/05/06 Javascript
nodejs对项目下所有空文件夹创建gitkeep的方法
2019/08/02 NodeJs
JavaScript检测浏览器是否支持CSS变量代码实例
2020/04/03 Javascript
详解微信小程序动画Animation执行过程
2020/09/23 Javascript
Vue3配置axios跨域实现过程解析
2020/11/25 Vue.js
pytorch 实现删除tensor中的指定行列
2020/01/13 Python
详解python中的lambda与sorted函数
2020/09/04 Python
如何使用python-opencv批量生成带噪点噪线的数字验证码
2020/12/21 Python
说一下Linux下有关用户和组管理的命令
2014/08/18 面试题
货代行业个人求职简历的自我评价
2013/10/22 职场文书
物流专业大学应届生求职信
2013/11/03 职场文书
公司综合部的成员自我评价分享
2013/11/05 职场文书
小学敬老月活动方案
2014/02/11 职场文书
《陈涉世家》教学反思
2014/04/12 职场文书
保洁员岗位职责
2015/02/04 职场文书
合作意向书范本
2019/04/17 职场文书
Python基础教程,Python入门教程(超详细)
2021/06/24 Python
Nginx反向代理至go-fastdfs案例讲解
2021/08/02 Servers