调用父类方法判断子类_python 子类如何调用父类的构造函数?(大牛实例代码详细教学)...

本文内容主要介绍了python 子类调用父类的构造函数实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧!!!

当子类继承父类后,需要调用父类的方法和属性时,需要调用父类的初始化函数

1409dc1c64f4cde80a187ca3215df189.png

在子类中重写了构造函数,但新的构造函数没有初始化父类,当没有初始化父类的构造函数时,就会报错。

2f8557b0fbcabce043ca150521c00acc.png

(1)调用超类的构造方法

ab7ad97a9806aa15ae5ce77623a2b8c6.png
0ad46bcfea567b33c607487cad46b2ec.png

(2)使用super函数

44d9ec8703baabc778fa08976f51be2c.png
e3aec220c71d4bf9368306a9d2056688.png

(2)使用super函数

041e27a4148e0650ad527a84f7b75731.png
90fd214190c449a66b7467dc20d35cfa.png

super函数返回一个super对象,解析过程自动查找所有的父类和父类的父类,当前类和对象可以作为super函数的参数使用,调用函数返回的方法是超类的方法。使用super函数如果子类继承多个父类只许一次继承,使用一次super函数即可。

如果没有重写子类的构造函数,是可以直接使用父类的属性和方法的。

9d3e6c3fba2cf942a0f0412093781805.png
5c7c3f7f27ebceefb2420eb9b4542b58.png

补充知识:python3 和python2 调用父类构造方法写法区别

1. python3 和python2 调用父类构造方法写法区别

前一段时间,把之前的一个项目迁移到python3

发现了很多不同的地方.我这里简单说明了,构造方法的不同 之后可能会继续更新不同. 主要针对项目迁移进行总结,反思. 这里就当做笔记。

python3 代码 调用父类的构造方法:

80b7672a9d0fd93eaa1c728b84b639af.png
835f0a66b90866197d866d8d7322a00d.png

2 python2.7 调用父类的构造方法

59a9e0edd1843dbba8377f05b53f13f4.png
8d8e41d8ec264e5cd4048edda66960ea.png

区别

主要区别是 super 的变化,

python3 中直接 super().init() 中 super 不需要传递任何参数,直接可以调用父类的构造方法

python2 中 super(Consumer, self).init(), 需要传两个参数一个是类名, 一个是self. 这样比较麻烦,很容易混淆. 但是python3 这里处理的比较好了。

可以看下这个文档 https://docs.python.org/3/library/functions.html#super

顺便提一下, python2 和python3 中 quque 名称换了,python3 用的是小写 作为模块名称.

以上这篇python 子类调用父类的构造函数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望对各位的学习有所帮助!!!

结尾

最后多说一句,小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“07”即可领取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值