在 Python 中,我如何选择调用哪个 Parent 的方法?假设我想调用父 ASDF2 的 __init__
方法。好像我必须在 super().. 中指定 ASDF1 ?如果我想调用 ASDF3 的 __init__
,那么我必须指定 ASDF2 ?!
>>> class ASDF(ASDF1, ASDF2, ASDF3):
... def __init__(self):
... super(ASDF1, self).__init__()
>>> ASDF()
# ASDF2's __init__ happened
>>> class ASDF(ASDF1, ASDF2, ASDF3):
... def __init__(self):
... super(ASDF2, self).__init__()
>>> ASDF()
# ASDF3's __init__ happened
对我来说似乎很疯狂。我究竟做错了什么?
原文由 Name McChange 发布,翻译遵循 CC BY-SA 4.0 许可协议
这不是
super()
的用途。 Super 基本上按照特定的顺序选择一个(或所有)它的父母。如果您只想调用单亲的方法,请执行此操作