当前位置:   article > 正文

Python super( ) 函数详解_python super()方法的作用

python super()方法的作用

目录

1 super( ) 的用途

2 了解 super 的基础信息

3 典型用法

3.1 单继承问题

3.2 单继承问题拓展

3.3 重复调用问题

3.4 super(type) 问题


 

1 super( ) 的用途

了解 super() 函数之前,我们首先要知道 super() 的用途是啥?

  • 主要用来在子类中调用父类的方法。
  • 多用于多继承问题中,解决查找顺序(MRO)、重复调用(钻石继承)等种种问题。

 

2 了解 super 的基础信息

语法格式:

super([type[, object-or-type]])

函数描述:

  • 返回一个代理对象,它会将方法调用委托给 type 的父类或兄弟类。

参数说明:

  • type —— 类,可选参数。
  • object-or-type —— 对象或类,一般是 self,可选参数。

返回值:

  • super object —— 代理对象。

help 帮助信息:

  1. >>> help(super)
  2. Help on class super in module builtins:
  3. class super(object)
  4. | super() -> same as super(__class__, <first argument>)
  5. | super(type) -> unbound super object
  6. | super(type, obj) -> bound super object; requires isinstance(obj, type)
  7. | super(type, type2) -> bound super object; requires issubclass(type2, type)
  8. | Typical use to call a cooperative superclass method:
  9. | class C(B):
  10. | def meth(self, arg):
  11. | super().meth(arg)
  12. | This works for class methods too:
  13. | class C(B):
  14. | @classmethod
  15. | def cmeth(cls, arg):
  16. | super().cmeth(arg)
  17. ... ...
  • super 是一个继承自 object 的类,调用 super() 函数其实就是 super 类的实例化。
  • 根据官方文档的解释 super() 函数返回的对象 —— super object,就是一个代理对象。
  • super() 有四种参数的组合形式。
  • super() 适用于类的静态方法。

 

3 典型用法

3.1 单继承问题

首先我们看一个最基本的子类调用父类方法的示例:


                
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/845568
推荐阅读
相关标签
  

闽ICP备14008679号