python类子类调用父类方法总结
先说下,有3种方法,如下
class Animal():def __init__(self, age):self.age=ageclass Cat(Animal):def __init__(self, age):self.name='lxq'# 以下是3种调用父类方法的写法# 1.父类名.父类方法(self)# Animal.__init__(self, age)# 2.super(子类名,self).父类方法()# super(Cat, self).__init__(age)# 3. super().父类方法()。只在 python3 可用# super().__init__(age)cat=Cat(12)
print(cat.age)
12
是不是感觉有点乱?下面一一解释!
先说第一种,也是最原始,最基础的方式:1.父类名.父类方法(self)
这里为什么是这样个写法呢?是来自于对self的理解。请看这个例子
class A:def print(self):print(self)a = A()
a.print()
A.print(a)
<__main__.A object at 0x0000021E7B6AA5C0>
<__main__.A object at 0x0000021E7B6AA5C0>
说白了,父类名.父类方法(self)
就是最原始的调用方法的形式。
再说第二和第三种,第二第三种其实是同一种方式——用super
关键字,那为啥会有2种不同的写法呢?
因为python版本不同!
第二种是python2的写法,第三种是python3的写法。第二种明显比第三种多了2个没必要的参数——自己的类名
,self
。python3就精简了这种写法。
因为历史遗留问题,python2只能用第二种写法,python3则都可以。
参考文献
https://blog.csdn.net/python_nice/article/details/81013267
http://www.runoob.com/w3cnote/python-super-detail-intro.html
python类子类调用父类方法总结相关推荐
- 【Python】继承、父类、子类、方法重写、子类调用父类方法、super()函数、多继承
Python继承 2021/6/21 周一 学习内容:父类.子类.方法重写.子类调用父类方法.super()函数.多继承 Python入门,主要是看 菜鸟教程.w3school 网站,以及电子工业出版 ...
- 【C++ 语言】面向对象 ( 继承 | 重写 | 子类调用父类方法 | 静态多态 | 动态多态 | 虚函数 | 纯虚函数 )
文章目录 类的继承 方法的重写 子类中调用父类方法 多态 虚函数 虚函数示例 纯虚函数 相关代码 类的继承 1. 继承表示 : C++ 中继承可以使用 ":" 符号 , 格式为 & ...
- qt 子类调用父类的函数_子类调用父类方法
当有相同的属性或者方法是this子类表示调用自己的属性或者方法, super调用父类的属性或者方法. 当子类调用的属性方法在子类中不存在时,那么this和super都是调用父类的属性或者方法 1.方式 ...
- C++——子类调用父类方法
C++--子类调用父类方法 原创声明:本文系博主原创文章,转载或引用请注明出处. 1. 如果类B是类A的子类,则在类B的成员方法中调用类A的方法时,可以直接以 A::method(paramlist) ...
- c++中子类调用父类方法的方法
在c++中子类调用父类方法的方法和java所用的方式不一样, java使用super指针就可以调用,c++中虽然也有this指针,但是不能用super去调用父类方法. c++用的方法为:fatherC ...
- 子类调用父类方法时,方法中的变量用谁的
public class T1 {private int a=6;public void ha(){System.out.println(this.a);} } public class T2 ext ...
- python中子类调用父类的初始化方法
http://bestchenwu.iteye.com/blog/1044848 http://www.crazyant.net/1303.html 一直不太理解python的初始化方法,今天找了下资 ...
- C++基础之子类调用父类方法
结果: 和 结果 效果一样,想要说明一下三点: 1. vs里成员函数的函数体就算只有一条语句也要加花括号,如第7-9行 2. 25行想通过子类调用父类函数fun(int i),通过B1.A::fun( ...
- 关于Java中子类调用父类方法
当一个类继承于另一个类,子类中没有父类的方法时.用子类的对象调用方法时,会首先在子类中查找,如果子类中没有改方法,再到父类中查找. 当一个方法只在父类中定义时,调用该方法时会使用父类中的属性. 如果 ...
最新文章
- SpringBoot 【IDEA热部署+浏览器禁用缓存】迅速提升效率
- 用完U盘忘记安全退出了,会造成数据丢失吗
- AEAI ESB路由转换机制说明
- TWRP-recovery中文界面安装方法[转]
- chromebook刷机_如何在Chromebook上切换(或离开)Canary频道
- 利用python实现端口扫描
- 图像数字水印技术研究及matlab实现,数字水印技术研究及其matlab仿真.doc
- vba set语句_零基础学VBA编程06:什么是变量?
- 运算放大器基本参数—压摆率(直观解释)
- WORD 2007删除尾注横线
- linux 无法切换为root权限不够,Linux入门教程:Ubuntu16.04解决无法切换root权限的问题,...
- 又一款5G旗舰:vivo NEX 3S瞄准高端市场
- html5加载vr视频格式,VR视频格式是什么_VR视频有什么格式_怎么分辨VR视频格式-VR之家...
- unity游戏开发知识检测
- cordova 创建app项目,签名打包部署
- 【JZOJ 4598】 准备食物
- 订单查询系统c语言作业,C语言设计订单管理系统答题.doc
- 【Python】摄氏度与华氏度互相转化
- 咖说 | 潘超:数字货币「矩阵」里的「盗梦空间」
- C语言递归及经典例题详解