python中的super用法详解_python super用法及原理详解
这篇文章主要介绍了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用法及原理详解相关推荐
- python中函数分为哪四类_Python函数参数分类原理详解
1.函数的参数在哪里定义 在python中定义函数的时候,函数名后面的括号里就是用来定义参数的,如果有多个参数的话,那么参数之间直接用逗号,隔开 案列: # 利用函数的参数,定义一个可以完成任意两个数 ...
- python中pass语句的作用是_Python pass语句以及作用详解
在具体开发设计中,有时大家会先构建起程序流程的总体逻辑结构,可是临时不去完成一些细节,只是在这种地区加一些注释,层面之后再加上编码,请看下面的事例: age = int( input("输入 ...
- python中的complex是什么意思_Python 内置函数complex详解,pythoncomplex
Python 内置函数complex详解,pythoncomplex 英文文档: class complex([real[, imag]]) Return a complex number with ...
- python中find函数的使用方法_python find()用法
案例: ### 1 ### str = "01213456" if str.find("23"):print "YES!" else:pri ...
- python open 打开是什么类型的文件-详解Python中open()函数指定文件打开方式的用法...
文件打开方式 当我们用open()函数去打开文件的时候,有好几种打开的模式. 'r'->只读 'w'->只写,文件已存在则清空,不存在则创建. 'a'->追加,写到文件末尾 'b'- ...
- 站长在线Python精讲:在Python中使用split()方法分割、使用join()方法合并字符串详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中使用split()方法分割.使用join()方法合并字符串详解>.本知识点主要内容有:在Python中使用s ...
- Python中的map()函数和reduce()函数的用法
Python中的map()函数和reduce()函数的用法 这篇文章主要介绍了Python中的map()函数和reduce()函数的用法,代码基于Python2.x版本,需要的朋友可以参考下
- python中while。。。。else的用法
python中while....else的用法 python中的while后面的else的作用是指,当while循环正常执行,中间没有break的时候,会执else后面的语句. 但是如果while语句 ...
- python中图形绘制技术的应用_python数据图形化—— matplotlib 基础应用
matplotlib是python中常用的数据图形化工具,用法跟matlab有点相似.调用简单,功能强大.在Windows下可以通过命令行 pip install matplotlib 来进行安装. ...
- python整段代码注释-Python中注释(多行注释和单行注释)的用法实例
Python中注释(多行注释和单行注释)的用法实例 发布时间:2020-09-30 23:18:32 来源:脚本之家 阅读:97 前言 学会向程序中添加必要的注释,也是很重要的.注释不仅可以用来解释程 ...
最新文章
- 关卡设计快速入门P_4. 放置Actor
- 《零基础入门学习Python》学习过程笔记【30模块中的函数,os模块,ospath模块中的函数(看了一点)】...
- 一些VR延迟优化方法
- 在地理文本处理技术上,高德有哪些技巧?
- SP1693 COCONUTS - 题解
- android 换行模式,Android进阶之自定义View(1)实现可换行的TextView
- [Unity] Animation Blend Tree 中混合值变化时部分骨骼错误旋转 360 度的解决办法:将 Humanoid 改成 Generic
- eclipseEE连接mysql_mysql-eclipseEE连接MySQL出现问题,哪位大神可以帮我看看*^__^*,非常感谢...
- 正则表达式中/i,/g,/ig,/gi,/m的区别和含义
- python绘图背景透明_如何在 Matplotlib 中更改绘图背景
- 数学建模——stata基础操作
- 多省市房屋交易平台引入电子签章推动住房交易合同网签备案
- 【边学边记_10】——8 位7段数码管的动态显示
- 详细地址访问腾讯地图API,转换为经纬度
- 电锤、冲击钻和空心钻的使用方法
- 太逗了 不得不藏 “郭德纲绝句,没有一句不让你笑的”
- MySQL批量导入Excel数据
- char/nchar、varchar/nvarchar、char/character区别
- 数学考140,英语考70的感悟----《超级考验经验〉转贴
- springboot毕业设计 基于springboot在线视频点播系统毕业设计设计与实现参考
热门文章
- Java深克隆和浅克隆
- UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xee in position 20: ordinal not in range(128)
- WinDbg 命令三部曲:(三)WinDbg SOSEX 扩展命令手册
- Python实现单位(亿、万)转数字
- IBM BPM WPS
- cocos微信小游戏开发-http请求-使用微信云函数-toast-loading-动态加载图片-添加触摸事件-微信分享-label点击事件-背景音乐音效-程序活动状态判断-性能优化
- es的链接老是断开怎么办_es问题解决方案记录- python es客户端 闲置一段时间后会被断开连接解决方案...
- LDcad零件新增与导入
- [译] 2018 PHP 应用程序安全设计指北
- Django-46-request之GET获取数据