class ParentClass:
    
        def __init__(self, name):
    
            self.name = name
    
    
    class ChildClass(ParentClass):
    
        def __init__(self, name, age):
    
            super().__init__(name) # Вызов конструктора родительского класса
    
            self.age = age
  
Создать класс-наследник (дочерний класс) в Python довольно просто. Основная идея заключается в том, что дочерний класс наследует атрибуты (переменные) и методы (функции) от родительского класса (базового класса). Для указания наследования, имя родительского класса указывается в скобках после имени дочернего класса при его определении.
Вот пример:
class Animal:
    def __init__(self, name):
        self.name = name
    def speak(self):
        print("Some generic animal sound")
class Dog(Animal):
    def __init__(self, name, breed):
        # Вызов конструктора родительского класса
        super().__init__(name)
        self.breed = breed
    def speak(self):
        print("Woof!")
    def bark(self):
        print("Bark bark!")
# Пример использования
my_dog = Dog("Buddy", "Golden Retriever")
print(my_dog.name)  # Вывод: Buddy
print(my_dog.breed) # Вывод: Golden Retriever
my_dog.speak()      # Вывод: Woof! (переопределенный метод)
my_dog.bark()       # Вывод: Bark bark! (метод только в Dog)
my_animal = Animal("GenericAnimal")
my_animal.speak()   # Вывод: Some generic animal sound
  Разберем пример:
class Animal: - Определяет базовый класс Animal.class Dog(Animal): - Определяет класс Dog, который наследует от Animal.  Ключевой момент здесь (Animal).super().__init__(name) - Вызывает конструктор родительского класса Animal, чтобы инициализировать атрибут name.  Использование super() позволяет избежать дублирования кода и обеспечивает правильную инициализацию наследованных атрибутов. Это необходимо, если дочерний класс определяет свой конструктор (__init__).self.breed = breed - Добавляет атрибут breed, специфичный для класса Dog.def speak(self): - Переопределяет метод speak, унаследованный от Animal.  Теперь при вызове my_dog.speak() будет выполняться метод speak класса Dog, а не Animal.def bark(self): - Определяет новый метод bark, который существует только в классе Dog.Ключевые моменты:
super() используется для вызова методов родительского класса.  Особенно полезен в конструкторах.speak()).Наследование является одним из основных принципов объектно-ориентированного программирования и позволяет создавать более модульный и поддерживаемый код.