Что такое интерфейсы

Python Senior Без компании
Что такое интерфейсы
Ответы
В Python интерфейсы реализуются неявно через абстрактные базовые классы (ABC) из модуля `abc`. Интерфейс определяет контракт — набор методов, которые должны быть реализованы в классах-наследниках. Пример: ``` from abc import ABC, abstractmethod class Shape(ABC): @abstractmethod def area(self): pass class Circle(Shape): def __init__(self, radius): self.radius = radius def area(self): return 3.14 * self.radius ** 2 # Нельзя создать экземпляр Shape(), только наследников с реализованными методами circle = Circle(5) print(circle.area()) # 78.5 ``` Ключевые моменты: - Интерфейс гарантирует наличие методов в классах-потомках. - Использует декоратор `@abstractmethod`. - Попытка создать экземпляр ABC с нереализованными методами вызовет `TypeError`. - В отличие от Java, Python не имеет синтаксиса `interface`, но ABC эмулируют эту функциональность.