Можно ли написать интерфейс в Python

Python Senior Без компании
Можно ли написать интерфейс в Python
Ответы
Да, в Python можно создавать интерфейсы с помощью абстрактных базовых классов (ABC) из модуля `abc`. Интерфейс определяет контракт, который должны реализовывать дочерние классы, без предоставления конкретной реализации. Пример: ``` from abc import ABC, abstractmethod class Shape(ABC): @abstractmethod def area(self): pass @abstractmethod def perimeter(self): pass class Circle(Shape): def __init__(self, radius): self.radius = radius def area(self): return 3.14 * self.radius ** 2 def perimeter(self): return 2 * 3.14 * self.radius ``` Ключевые моменты: - Используем `ABC` как базовый класс - Методы помечаем `@abstractmethod` - Класс-наследник обязан реализовать все абстрактные методы - Нельзя создать экземпляр абстрактного класса Также можно использовать протоколы (PEP 544) для структурной типизации.