这篇文章主要介绍了python super用法及原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

概念

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.

参考文档

https://www.programiz.com/python-programming/methods/built-in/super

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

本文标题: python super用法及原理详解

本文地址: http://www.cppcns.com/jiaoben/python/298864.html

python中的super用法详解_python super用法及原理详解相关推荐

  1. python中函数分为哪四类_Python函数参数分类原理详解

    1.函数的参数在哪里定义 在python中定义函数的时候,函数名后面的括号里就是用来定义参数的,如果有多个参数的话,那么参数之间直接用逗号,隔开 案列: # 利用函数的参数,定义一个可以完成任意两个数 ...

  2. python中pass语句的作用是_Python pass语句以及作用详解

    在具体开发设计中,有时大家会先构建起程序流程的总体逻辑结构,可是临时不去完成一些细节,只是在这种地区加一些注释,层面之后再加上编码,请看下面的事例: age = int( input("输入 ...

  3. python中的complex是什么意思_Python 内置函数complex详解,pythoncomplex

    Python 内置函数complex详解,pythoncomplex 英文文档: class complex([real[, imag]]) Return a complex number with ...

  4. python中find函数的使用方法_python find()用法

    案例: ### 1 ### str = "01213456" if str.find("23"):print "YES!" else:pri ...

  5. python open 打开是什么类型的文件-详解Python中open()函数指定文件打开方式的用法...

    文件打开方式 当我们用open()函数去打开文件的时候,有好几种打开的模式. 'r'->只读 'w'->只写,文件已存在则清空,不存在则创建. 'a'->追加,写到文件末尾 'b'- ...

  6. 站长在线Python精讲:在Python中使用split()方法分割、使用join()方法合并字符串详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中使用split()方法分割.使用join()方法合并字符串详解>.本知识点主要内容有:在Python中使用s ...

  7. Python中的map()函数和reduce()函数的用法

    Python中的map()函数和reduce()函数的用法 这篇文章主要介绍了Python中的map()函数和reduce()函数的用法,代码基于Python2.x版本,需要的朋友可以参考下  

  8. python中while。。。。else的用法

    python中while....else的用法 python中的while后面的else的作用是指,当while循环正常执行,中间没有break的时候,会执else后面的语句. 但是如果while语句 ...

  9. python中图形绘制技术的应用_python数据图形化—— matplotlib 基础应用

    matplotlib是python中常用的数据图形化工具,用法跟matlab有点相似.调用简单,功能强大.在Windows下可以通过命令行 pip install matplotlib 来进行安装. ...

  10. python整段代码注释-Python中注释(多行注释和单行注释)的用法实例

    Python中注释(多行注释和单行注释)的用法实例 发布时间:2020-09-30 23:18:32 来源:脚本之家 阅读:97 前言 学会向程序中添加必要的注释,也是很重要的.注释不仅可以用来解释程 ...

最新文章

  1. 关卡设计快速入门P_4. 放置Actor
  2. 《零基础入门学习Python》学习过程笔记【30模块中的函数,os模块,ospath模块中的函数(看了一点)】...
  3. 一些VR延迟优化方法
  4. 在地理文本处理技术上,高德有哪些技巧?
  5. SP1693 COCONUTS - 题解
  6. android 换行模式,Android进阶之自定义View(1)实现可换行的TextView
  7. [Unity] Animation Blend Tree 中混合值变化时部分骨骼错误旋转 360 度的解决办法:将 Humanoid 改成 Generic
  8. eclipseEE连接mysql_mysql-eclipseEE连接MySQL出现问题,哪位大神可以帮我看看*^__^*,非常感谢...
  9. 正则表达式中/i,/g,/ig,/gi,/m的区别和含义
  10. python绘图背景透明_如何在 Matplotlib 中更改绘图背景
  11. 数学建模——stata基础操作
  12. 多省市房屋交易平台引入电子签章推动住房交易合同网签备案
  13. 【边学边记_10】——8 位7段数码管的动态显示
  14. 详细地址访问腾讯地图API,转换为经纬度
  15. 电锤、冲击钻和空心钻的使用方法
  16. 太逗了 不得不藏 “郭德纲绝句,没有一句不让你笑的”
  17. MySQL批量导入Excel数据
  18. char/nchar、varchar/nvarchar、char/character区别
  19. 数学考140,英语考70的感悟----《超级考验经验〉转贴
  20. springboot毕业设计 基于springboot在线视频点播系统毕业设计设计与实现参考

热门文章

  1. Java深克隆和浅克隆
  2. UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xee in position 20: ordinal not in range(128)
  3. WinDbg 命令三部曲:(三)WinDbg SOSEX 扩展命令手册
  4. Python实现单位(亿、万)转数字
  5. IBM BPM WPS
  6. cocos微信小游戏开发-http请求-使用微信云函数-toast-loading-动态加载图片-添加触摸事件-微信分享-label点击事件-背景音乐音效-程序活动状态判断-性能优化
  7. es的链接老是断开怎么办_es问题解决方案记录- python es客户端 闲置一段时间后会被断开连接解决方案...
  8. LDcad零件新增与导入
  9. [译] 2018 PHP 应用程序安全设计指北
  10. Django-46-request之GET获取数据