python中super关键字的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中super关键字的使用相关的知识,希望对你有一定的参考价值。

参考技术A 案例一:单继承时super关键字的使用:

log:

解释:这里的super强制调用了父类的方法,不仅仅是__init__方法,也可以是强制调用父类普通方法(如cry)

案例二:多继承时super的使用

先不看cry方法,只看__init__方法,原理都是一样的,这里的哈士奇和金毛都继承了Dog类,而杂交犬继承了金毛和哈士奇

看一下log:

虽然只创建了一个dog3对象,但是分别调用了Dog,Husky,Golden的__init__方法。

案列三:不使用super关键字,写一下多继承:

用父类直接调用自己的__init__方法

看一下log:

可以发现这里多打印了一句“普通狗狗的眼睛是黑色”,也就是说多调用了一次Dog()的__init__()方法

总结:所以super可以用来强制调用父类方法(包括__init__方法,和其他自定义方法),但是super可以避免多继承时重复调用父类方法。

以上是关于python中super关键字的使用的主要内容,如果未能解决你的问题,请参考以下文章

8.python之面相对象part.5(子类调用父类的方法,以及super关键字)

Python中super()详解及应用场景举例

二十四Python中super()详解及应用场景举例

super关键字的使用

super关键字的使用

关键字super在java中的主要作用是啥,如何使用?