super() в классах Python
При знакомстве с фреймворком PyQt5, я заметил, что в функцию super() еще и записывают параметры.
Я не могу понять, зачем и почему, и что это дает?
Пример:
class Example(QWidget):
def __init__(self):
super(Example, self).__init__()
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
PyQt5 здесь ни при чем.
Один из способов, которым Python достигает парадигмы
объектно-ориентированную программирования,
этого — поддержка наследования, что он делает с помощью super().
class Example(QWidget):
def __init__(self):
super(Example, self).__init__()
В Python 3 вызов super(Example, self) эквивалентен вызову super() без параметров.
super() может принимать два параметра:
- первый параметр является подклассом,
- а второй параметр является объектом, который является экземпляром этого подкласса.