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中decorator使用实例
Apr 14 Python
对于Python编程中一些重用与缩减的建议
Apr 14 Python
Django 添加静态文件的两种实现方法(必看篇)
Jul 14 Python
python实现自动发送报警监控邮件
Jun 21 Python
Python将list中的string批量转化成int/float的方法
Jun 26 Python
利用PyCharm Profile分析异步爬虫效率详解
May 08 Python
PYTHON绘制雷达图代码实例
Oct 15 Python
Django 项目通过加载不同env文件来区分不同环境
Feb 17 Python
从0到1使用python开发一个半自动答题小程序的实现
May 12 Python
Python 爬虫批量爬取网页图片保存到本地的实现代码
Dec 24 Python
Python爬取某平台短视频的方法
Feb 08 Python
浅析Python中的随机采样和概率分布
Dec 06 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
COM in PHP (winows only)
2006/10/09 PHP
超强分页类2.0发布,支持自定义风格,默认4种显示模式
2007/01/02 PHP
php 智能404跳转代码,适合换域名没改变目录的网站
2010/06/04 PHP
php array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
2011/07/12 PHP
深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
2013/06/06 PHP
基于PHP开发中的安全防范知识详解
2013/06/06 PHP
php时间戳格式化显示友好的时间函数分享
2014/10/21 PHP
Symfony2安装第三方Bundles实例详解
2016/02/04 PHP
Laravel中的chunk组块结果集处理与注意问题
2018/08/15 PHP
Laravel框架之解决前端显示图片问题
2019/10/24 PHP
10分钟学会写Jquery插件实例教程
2014/09/06 Javascript
本人自用的global.js库源码分享
2015/02/28 Javascript
js判断移动端是否安装某款app的多种方法
2015/12/18 Javascript
详解nodejs实现本地上传图片并预览功能(express4.0+)
2017/06/28 NodeJs
微信小程序template模板实例详解
2017/10/27 Javascript
Vue实现点击后文字变色切换方法
2018/02/11 Javascript
jQuery+css last-child实现选择最后一个子元素操作示例
2018/12/10 jQuery
javascript异常处理实现原理详解
2020/02/17 Javascript
[00:12]DAC2018 no[o]ne亮相SOLO赛 他是否如他的id一样无人可挡?
2018/04/06 DOTA
[53:52]OG vs EG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
python里使用正则的findall函数的实例详解
2017/10/19 Python
python过滤中英文标点符号的实例代码
2019/07/15 Python
python实现LRU热点缓存及原理
2019/10/29 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
keras实现theano和tensorflow训练的模型相互转换
2020/06/19 Python
基于HTML5代码实现折叠菜单附源码下载
2015/11/27 HTML / CSS
阿里巴巴国际站:Alibaba.com
2016/07/21 全球购物
美国专业级皮肤病和spa品质护肤品的高级零售网站:SkinCareRx
2017/02/06 全球购物
巴西化妆品商店:Lojas Rede
2019/07/26 全球购物
总会计师岗位职责
2014/02/19 职场文书
导游个人求职信范文
2014/03/23 职场文书
创先争优活动承诺书
2014/08/30 职场文书
北京天坛导游词
2015/02/12 职场文书
电信营业员岗位职责
2015/04/14 职场文书
MySql 8.0及对应驱动包匹配的注意点说明
2021/06/23 MySQL
Nginx限流和黑名单配置
2022/05/20 Servers