首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python的super()如何处理多重继承?

Python的super()如何处理多重继承?

提问于 2017-12-15 13:54:03
回答 2关注 0查看 620

我在Python面向对象的编程方面非常新颖,而且我很难理解super()函数(新样式类),特别是在涉及到多重继承时。

例如,如果你有像这样的东西:

代码语言:txt
复制
class First(object):
代码语言:txt
复制
    def __init__(self):
代码语言:txt
复制
        print "first"
代码语言:txt
复制
代码语言:txt
复制
class Second(object):
代码语言:txt
复制
    def __init__(self):
代码语言:txt
复制
        print "second"
代码语言:txt
复制
代码语言:txt
复制
class Third(First, Second):
代码语言:txt
复制
    def __init__(self):
代码语言:txt
复制
        super(Third, self).__init__()
代码语言:txt
复制
        print "that's it"

我没有得到的是:Third()类会继承两个构造方法?如果是的话,那么哪一个会用super()运行,为什么呢?

而如果你想运行另一个呢?我知道这与Python方法解析顺序(MRO)有关。

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档