我如何调用super()使它在2和3中兼容?

时间:2014-02-14 00:13:13

标签: python six-python

我正在尝试使用six编写2/3兼容代码,但我不知道如何以交叉兼容的方式调用super()。除此之外还有更好的方法,例如:

class MyClass(MyBase):
    def __init__():
        if six.PY3:
            super().__init__()
        else:
            super(MyClass, self).__init__()
        ...

1 个答案:

答案 0 :(得分:24)

super()与参数一起使用是向后兼容的,因此您应该能够使用super(MyClass, self)而无需检查版本。