Часто указывалось, что super
должно быть avoided в Python 2. Я нашел в моем использовании super
в Python 2, что он никогда не действует так, как я ожидаю, если я не предоставил все аргументы, такие как пример:
super(ThisClass, self).some_func(*args, **kwds)
Мне кажется, что это побеждает цель использования super()
, это не более кратким или намного лучше, чем TheBaseClass.some_func(self, *args, **kwds)
. Для большинства целей порядок разрешения порядка - далекая сказка.
- Кроме того, что 2.7 является последней крупной версией на Python 2, почему супер остается сломанным в Python 2?
- Как и почему Python 3 super изменился? Есть ли какие-либо оговорки?
- Когда и зачем использовать
super
в будущем?