class BaseClass:    def __init__(self, value):        self.value = valueclass DerivedClass(BaseClass):    def __init__(self, value, extra):        super().__init__(value) # Вызов конструктора базового класса        self.extra = extra
Для создания базового класса в Python, достаточно просто объявить класс, используя ключевое слово class, и определить его атрибуты и методы.  Затем, чтобы унаследовать этот базовый класс в другом классе, нужно указать имя базового класса в скобках после имени нового класса при его объявлении. Это создаст отношение "родитель-потомок" между классами, где новый класс (дочерний) наследует свойства и поведение базового класса (родительского).
Пример:
# Базовый класс
class Animal:
    def __init__(self, name):
        self.name = name
    def speak(self):
        print("Животное издает звук")
# Дочерний класс, наследующий Animal
class Dog(Animal):
    def __init__(self, name, breed):
        # Вызываем конструктор базового класса для инициализации общих атрибутов
        super().__init__(name)
        self.breed = breed
    # Переопределяем метод speak для конкретного класса
    def speak(self):
        print("Гав!")
# Создаем экземпляры классов
animal = Animal("Безымянное животное")
dog = Dog("Бобик", "Дворняжка")
# Вызываем методы
animal.speak()  # Вывод: Животное издает звук
dog.speak()     # Вывод: Гав!
print(dog.name)   # Вывод: Бобик
print(dog.breed)  # Вывод: Дворняжка
Пояснения:
class Animal: - Объявление базового класса Animal.class Dog(Animal): - Объявление дочернего класса Dog, наследующего от Animal.  В скобках указывается имя родительского класса.super().__init__(name) -  В конструкторе дочернего класса вызывается конструктор родительского класса с помощью функции super(). Это необходимо для инициализации атрибутов, унаследованных от базового класса.  В данном случае, инициализируется атрибут name, определенный в Animal.speak() переопределен в классе Dog, чтобы выводить "Гав!" вместо "Животное издает звук". Если метод не переопределен, то используется реализация из базового класса.Наследование позволяет создавать иерархию классов, повторно использовать код и избегать дублирования, делая структуру программы более организованной и расширяемой.  Функция super() является ключевой для правильной инициализации базовых классов и работы с переопределенными методами.