【发布时间】:2022-06-23 22:53:39
【问题描述】:
super() 用于访问超类的成员,但有时它需要一些参数,带参数的 super 是做什么的。
示例
super(type,object)
super(type,type)
super(type)
【问题讨论】:
-
你读过documentation吗?
super() 用于访问超类的成员,但有时它需要一些参数,带参数的 super 是做什么的。
super(type,object)
super(type,type)
super(type)
【问题讨论】:
两个参数的形式是标准。对象指定要搜索的 MRO,类型指定在 MRO 中开始查找的位置。
几乎总是,您希望使用当前类的类型,并且希望使用方法的self 参数作为对象,因此如果您不传递任何参数,Python 将设置为这些值的“默认值”。 (在 Python 2 中,要求显式提供参数;Python 3 添加了在没有给出参数时推断常用参数的功能。)
如果你传递 one 参数,则只使用当前类型;没有隐含对象,您会得到super 的“未绑定”实例。 (这种对象的用例很少。)
【讨论】: