How can I call super() so it's compatible in 2 and 3?

python, six-python

Solution

Using `super()` with arguments is backwards compatible, so you should just be able to use `super(MyClass, self)` without needing to check the version.

Problem

I'm trying to write 2/3 compatible code using `six`, but I don't see how I can call `super()` in a cross-compatible manner. Is there some better way besides, for example: ``` class MyClass(MyBase): def __init__(): if six.PY3: super().__init__() else: super(MyClass, self).__init__() ... ```

Original source