Встречается на собеседованиях • сегодня

Зачем нужен интерфейс

Интерфейс в Python (обычно реализуемый через абстрактные классы ABC) определяет контракт, который должны соблюдать классы-наследники. Это позволяет:

  1. Стандартизировать код – все классы, реализующие интерфейс, обязаны определить указанные методы.
  2. Упростить тестирование – можно использовать mock-объекты, соответствующие интерфейсу.
  3. Обеспечить полиморфизм – разные классы могут быть использованы взаимозаменяемо, если реализуют один интерфейс.

Пример:

python
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 и т.д.)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы