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