先说下,有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类子类调用父类方法总结相关推荐

  1. 【Python】继承、父类、子类、方法重写、子类调用父类方法、super()函数、多继承

    Python继承 2021/6/21 周一 学习内容:父类.子类.方法重写.子类调用父类方法.super()函数.多继承 Python入门,主要是看 菜鸟教程.w3school 网站,以及电子工业出版 ...

  2. 【C++ 语言】面向对象 ( 继承 | 重写 | 子类调用父类方法 | 静态多态 | 动态多态 | 虚函数 | 纯虚函数 )

    文章目录 类的继承 方法的重写 子类中调用父类方法 多态 虚函数 虚函数示例 纯虚函数 相关代码 类的继承 1. 继承表示 : C++ 中继承可以使用 ":" 符号 , 格式为 & ...

  3. qt 子类调用父类的函数_子类调用父类方法

    当有相同的属性或者方法是this子类表示调用自己的属性或者方法, super调用父类的属性或者方法. 当子类调用的属性方法在子类中不存在时,那么this和super都是调用父类的属性或者方法 1.方式 ...

  4. C++——子类调用父类方法

    C++--子类调用父类方法 原创声明:本文系博主原创文章,转载或引用请注明出处. 1. 如果类B是类A的子类,则在类B的成员方法中调用类A的方法时,可以直接以 A::method(paramlist) ...

  5. c++中子类调用父类方法的方法

    在c++中子类调用父类方法的方法和java所用的方式不一样, java使用super指针就可以调用,c++中虽然也有this指针,但是不能用super去调用父类方法. c++用的方法为:fatherC ...

  6. 子类调用父类方法时,方法中的变量用谁的

    public class T1 {private int a=6;public void ha(){System.out.println(this.a);} } public class T2 ext ...

  7. python中子类调用父类的初始化方法

    http://bestchenwu.iteye.com/blog/1044848 http://www.crazyant.net/1303.html 一直不太理解python的初始化方法,今天找了下资 ...

  8. C++基础之子类调用父类方法

    结果: 和 结果 效果一样,想要说明一下三点: 1. vs里成员函数的函数体就算只有一条语句也要加花括号,如第7-9行 2. 25行想通过子类调用父类函数fun(int i),通过B1.A::fun( ...

  9. 关于Java中子类调用父类方法

    当一个类继承于另一个类,子类中没有父类的方法时.用子类的对象调用方法时,会首先在子类中查找,如果子类中没有改方法,再到父类中查找. 当一个方法只在父类中定义时,调用该方法时会使用父类中的属性.  如果 ...

最新文章

  1. SpringBoot 【IDEA热部署+浏览器禁用缓存】迅速提升效率
  2. 用完U盘忘记安全退出了,会造成数据丢失吗
  3. AEAI ESB路由转换机制说明
  4. TWRP-recovery中文界面安装方法[转]
  5. chromebook刷机_如何在Chromebook上切换(或离开)Canary频道
  6. 利用python实现端口扫描
  7. 图像数字水印技术研究及matlab实现,数字水印技术研究及其matlab仿真.doc
  8. vba set语句_零基础学VBA编程06:什么是变量?
  9. 运算放大器基本参数—压摆率(直观解释)
  10. WORD 2007删除尾注横线
  11. linux 无法切换为root权限不够,Linux入门教程:Ubuntu16.04解决无法切换root权限的问题,...
  12. 又一款5G旗舰:vivo NEX 3S瞄准高端市场
  13. html5加载vr视频格式,VR视频格式是什么_VR视频有什么格式_怎么分辨VR视频格式-VR之家...
  14. unity游戏开发知识检测
  15. cordova 创建app项目,签名打包部署
  16. 【JZOJ 4598】 准备食物
  17. 订单查询系统c语言作业,C语言设计订单管理系统答题.doc
  18. 【Python】摄氏度与华氏度互相转化
  19. 咖说 | 潘超:数字货币「矩阵」里的「盗梦空间」
  20. C语言递归及经典例题详解

热门文章

  1. 安卓平板隐藏虚拟按键_Android实现隐藏手机底部虚拟按键
  2. nodejs环境变量配置问题记录
  3. git中ssh免密登录
  4. python编程实例详解-Python3.5面向对象编程图文与实例详解
  5. U3D人物名称跟随效果
  6. i7 12650h和i5 12450h对比 i712650h和i512450h哪个好
  7. Unity3D 中保存或读取数组的方法
  8. android 调起第三方地图并添加标注
  9. 表驱动法(Table-Driven Methods)
  10. 判断魔方阵c语言程序设计_C语言实现魔方阵代码及解析