Для переопределения конструктора в наследуемом классе в Python нужно создать метод __init__() в этом классе.
Обычно, чтобы не потерять логику базового класса, в переопределенном __init__() вызывается конструктор родительского класса через super().__init__(...), передавая необходимые аргументы.
Пример:
class Parent:
    def __init__(self, name):
        self.name = name
class Child(Parent):
    def __init__(self, name, age):
        super().__init__(name)
        self.age = age
  При переопределении конструктора (метода __init__) в наследуемом классе, важно помнить о двух ключевых аспектах:
super().  Если этого не сделать, атрибуты родительского класса могут быть не инициализированы, что приведет к ошибкам.Вот пример:
   
 class Parent:
    def __init__(self, name):
        self.name = name
        print("Parent __init__ called")
    def get_name(self):
        return self.name
 class Child(Parent):
    def __init__(self, name, age):
        super().__init__(name)  # Вызов конструктора родительского класса
        self.age = age
        print("Child __init__ called")
    def get_age(self):
        return self.age
 # Создание экземпляра дочернего класса
 child = Child("Alice", 10)
 print(f"Имя: {child.get_name()}") # Вызов метода родительского класса
 print(f"Возраст: {child.get_age()}") # Вызов метода дочернего класса
   
  
  Объяснение кода:
Parent - родительский класс с атрибутом name.Child - наследуемый класс.Child,  super().__init__(name) вызывает конструктор Parent, передавая значение name для инициализации атрибута name в родительском классе.Child инициализирует атрибут age, специфичный для дочернего класса.Важность super():
super() обеспечивает правильную инициализацию родительского класса и корректную работу наследования.  Особенно это важно при множественном наследовании и использовании MRO (Method Resolution Order).
Альтернативный способ (устаревший):
Хотя он и работает, использование Parent.__init__(self, name) (явно вызывая конструктор родительского класса) считается менее предпочтительным, чем использование super(), особенно в сложных иерархиях наследования.