python中super的用法实例解析
2024-08-31 21:30:24
概念
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.
参考文档
最新文章
- 解决安装完centos6.6之后/etc/sysconfig/目录下没有iptables 的问题
- c# 模拟get和post
- JSTL(JSP Standard Tag Library)读书笔记
- C#使用ICSharpCode.SharpZipLib.dll压缩多个文件
- .net远程连接oracle数据库不用安装oracle客户端的方法
- Laravel学习第一天(创建laravel项目、路由、视图、blade模板)
- python学习的一些感悟
- Python----Tornado安装
- XP里面其实也讲究admin的执行权限
- pentaho之kettle篇---kettle基本操作
- JavaScript 实现发布消息后,距离当前时间的实现
- OpenStack Horizon创建虚拟机时增加虚拟机OS用户
- (WCF初体验)WCF的认证和消息保护
- 面试必问!Java 多线程中两个线程交替执行,一个输出偶数,一个输出奇数
- ios之库Protobuf的使用
- centos 搭建git服务器和客户端
- 《Linux内核设计与实现》读书笔记 5
- resultMap自定义某个javaBean的封装规则代码
- 2.15 富文本(richtext)
- bzoj 2286(洛谷 2495) [Sdoi2011]消耗战——虚树