概念

super作为python的内建函数。主要作用如下:

允许我们避免使用基类

跟随多重继承来使用

实例

在单个继承的场景下,一般使用super来调用基类来实现:

下面是一个例子:

class Mammal(object):

def __init__(self, mammalName):

print(mammalName, 'is a warm-blooded animal.')

class Dog(Mammal):

def __init__(self):

print('Dog has four legs.')

super().__init__('Dog')

d1 = Dog()

输出结果:

➜ super git:(master) ✗ py super_script.py

Dog has four legs.

Dog is a warm-blooded animal.

super在多重继承里面的使用:

下面是一个例子:

'

class Animal:

def __init__(self, animalName):

print(animalName, 'is an animal.');

class Mammal(Animal):

def __init__(self, mammalName):

print(mammalName, 'is a warm-blooded animal.')

super().__init__(mammalName)

class NonWingedMammal(Mammal):

def __init__(self, NonWingedMammalName):

print(NonWingedMammalName, "can't fly.")

super().__init__(NonWingedMammalName)

class NonMarineMammal(Mammal):

def __init__(self, NonMarineMammalName):

print(NonMarineMammalName, "can't swim.")

super().__init__(NonMarineMammalName)

class Dog(NonMarineMammal, NonWingedMammal):

def __init__(self):

print('Dog has 4 legs.');

super().__init__('Dog')

d = Dog()

print('')

bat = NonMarineMammal('Bat')

输出结果:

➜ super git:(master) ✗ py super_muli.py

Dog has 4 legs.

Dog can't swim.

Dog can't fly.

Dog is a warm-blooded animal.

Dog is an animal.

Bat can't swim.

Bat is a warm-blooded animal.

Bat is an animal.

参考文档

python实例解析_python中super的用法实例解析相关推荐

  1. python中的super用法详解_Python中super函数用法实例分析

    本文实例讲述了python中super函数用法.分享给大家供大家参考,具体如下: 这是个高大上的函数,在python装13手册里面介绍过多使用可显得自己是高手 23333. 但其实他还是很重要的. 简 ...

  2. python pygame模块_python中pygame模块用法实例

    本文实例讲述了python中pygame模块用法,分享给大家供大家参考.具体方法如下: import pygame, sys from pygame.locals import * #set up p ...

  3. python中的super用法详解_Python中super的用法实例

    super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO).重复调用(钻石继承)等种种问题.总之前人留下的经验就是:保持一致性 ...

  4. python编程字典100例_python中字典(Dictionary)用法实例详解

    本文实例讲述了python中字典(Dictionary)用法.分享给大家供大家参考.具体分析如下: 字典(Dictionary)是一种映射结构的数据类型,由无序的"键-值对"组成. ...

  5. python中max函数用法_Python中max函数用法实例分析

    Python中max函数用法实例分析 更新时间:2015年07月17日 15:45:09 作者:优雅先生 这篇文章主要介绍了Python中max函数用法,实例分析了Python中max函数的功能与使用 ...

  6. python元类的使用_python中元类用法实例

    本文实例讲述了python中元类用法,分享给大家供大家参考.具体方法分析如下: 1.元类(metaclass)是用来创建类的类 2.type(object):返回一个对象的类型,与object.__c ...

  7. python中mysqldb模块_python中MySQLdb模块用法实例

    本文实例讲述了python中MySQLdb模块用法.分享给大家供大家参考.具体用法分析如下: MySQLdb其实有点像php或asp中连接数据库的一个模式了,只是MySQLdb是针对mysql连接了接 ...

  8. zip在python中的用法_Python中zip()函数用法实例教程

    本文实例讲述了Python中zip()函数的定义及用法,相信对于Python初学者有一定的借鉴价值.详情如下: 一.定义: zip([iterable, ...])zip()是Python的一个内建函 ...

  9. 【python】类继承中super的用法

    阅读本文,需要知道python中的类与继承的概念. 1.总述 在python中,通过类的继承机制,可以实现在子类中调用父类的方法,从而避免写重复的代码.但在面临多继承时,如果多个父类中都实现了某个相同 ...

最新文章

  1. redmine 2.2.x 修改文档附件的存放目录
  2. 在VS2008中DataGridView控件里DataGridViewComboBoxColumn列的Bug
  3. hadoop的安装与配置(伪分布式模式安装)
  4. /etc/security/limits.conf的相关说明
  5. 20165237 2017-2018-2 《Java程序设计》第1周学习总结
  6. Windows SendMessage和PostMessage区别(最简单的讲解)
  7. CentOS查看系统信息命令和方法
  8. 解决输出顺时针螺旋数组问题【寻路算法】
  9. 机器学习数学基础十:相关分析
  10. 说明文中国第一台亮子计算机揭秘,2018届九年级语文中考复习(河南)课件:第2部分 第二讲 说明文阅读 2017名题强化训练.ppt...
  11. AR和VR,有哪些知名的开源平台
  12. 读李尚龙《你只是看起来很努力》摘录的句子
  13. 【MM小贴士】SAP创建成本中心采购订单带出默认会计科目和成本中心
  14. 联想H61主板升级BIOS,支持nvme硬盘
  15. 比較好的JAVA網站
  16. html+js画一颗心形,js画花构成心型
  17. angularJS学习小结——filter
  18. 竞争优势究竟是什么?
  19. 【MES系统】这个表格让您秒懂MES制造执行系统与ERP企业管理系统的区别及联系...
  20. 单菌基因组测序常见问题

热门文章

  1. python docker库
  2. [leetcode]242. Valid Anagram判断两个字符串是不是包含相同字符的重排列
  3. 3_03 蛇形填数(数组)
  4. iOS 摇一摇功能的实现
  5. thinkphp下载远程图片到本地
  6. 案例:演示JDBC的使用
  7. java细节_java细节知识
  8. mysql三大范式 答案_数据库逻辑设计之三大范式通俗理解,一看就懂,书上说的太晦涩...
  9. linux权限案例,Linux下的权限体系
  10. python多线程_干货|理解python多线程和多进程