super()
1. Что такое super()
super()super()возвращает родительский (базовый) класс текущего класса.Позволяет вызывать методы родителя без явного указания имени класса.
Часто используется для расширения поведения родительских методов при наследовании.
2. Синтаксис
class Child(Parent):
def method(self):
super().method() # вызов метода родителяВ Python 3 достаточно
super()без аргументов.В Python 2 нужно было указывать класс и self:
super(Child, self).method()
3. Примеры использования
Пример 1: Расширение метода родителя
class Animal:
def speak(self):
print("Animal speaks")
class Dog(Animal):
def speak(self):
super().speak() # вызов метода родителя
print("Dog barks")
dog = Dog()
dog.speak()
# Output:
# Animal speaks
# Dog barksПример 2: Инициализация родительского конструктора
Пример 3: В множественном наследовании
super()удобно использовать для правильного порядка вызовов в сложных иерархиях.
4. Применение в автотестах
Page Object Model: наследование базового класса страницы
Расширение утилитарных методов:
💡 Вывод:
super()позволяет вызывать методы родительских классов, расширять их поведение и корректно работать с наследованием, особенно в множественном наследовании.Очень полезен в Page Object Model, расширении утилит и построении иерархий классов в автотестах.
Last updated
Was this helpful?