Python的多重继承:选择调用哪个super()

10 浏览
0 Comments

Python的多重继承:选择调用哪个super()

在Python中,我如何选择调用哪个父类的方法?比如我想调用父类ASDF2的__init__方法。似乎我必须在super()中指定ASDF1?如果我想调用ASDF3的__init__,那么我必须指定ASDF2?!

>>> class ASDF(ASDF1, ASDF2, ASDF3):
...     def __init__(self):
...         super(ASDF1, self).__init__()
>>> ASDF()
# ASDF2的__init__被调用了
>>> class ASDF(ASDF1, ASDF2, ASDF3):
...     def __init__(self):
...         super(ASDF2, self).__init__()
>>> ASDF()
# ASDF3的__init__被调用了

对我来说似乎很荒谬。我做错了什么?

0