Какие знаешь инструменты для создания абстрактного класса в Python

Python Middle Рунити
Какие знаешь инструменты для создания абстрактного класса в Python
Ответы
В Python можно создать абстрактный класс с помощью модуля `abc` (Abstract Base Classes). Основные инструменты: - **`ABC`** – базовый класс для создания абстрактных классов. - **`@abstractmethod`** – декоратор для обозначения абстрактных методов. Пример: ``` from abc import ABC, abstractmethod class Animal(ABC): @abstractmethod def make_sound(self): pass class Dog(Animal): def make_sound(self): return "Woof!" # Попытка создать экземпляр без реализации метода вызовет TypeError # animal = Animal() # Ошибка! dog = Dog() # OK print(dog.make_sound()) # Выведет: Woof! ``` **Нюансы:** - Нельзя создать экземпляр абстрактного класса, пока не реализованы все `@abstractmethod`. - Можно добавлять обычные методы и свойства. - Наследование от `ABC` можно заменить метаклассом `ABCMeta`.