python super用法及原理详解
程序员文章站
2023-11-27 14:08:52
这篇文章主要介绍了python super用法及原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
概念
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.
参考文档
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
浅谈Python3中strip()、lstrip()、rstrip()用法详解
-
Python中函数的基本定义与调用及内置函数详解
-
linux uname命令参数及用法详解(linux查看系统信息命令)
-
linux kill命令参数及用法详解(linux终止进程命令)
-
linux sleep命令参数及用法详解(linux休眠延迟执行命令)
-
linux whois命令参数及用法详解(linux查询域名或IP注册信息)
-
linux groupmod命令参数及用法详解(linux修改组信息命令)
-
linux w命令参数及用法详解(linux查看在线用户命令)
-
linux userdel命令参数及用法详解(linux删除系统用户命令)
-
linux date命令参数及用法详解(linux查看修改系统时间)