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

Пишешь ли интерфейсы в своем коде

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

  1. Четкого определения контракта для классов
  2. Проверки реализации методов во время разработки
  3. Создания полиморфных структур

Пример:

python
from abc import ABC, abstractmethod

class DataLoader(ABC):
    @abstractmethod
    def load(self, source: str) -> dict:
        pass

class JSONLoader(DataLoader):
    def load(self, filepath: str) -> dict:
        import json
        with open(filepath) as f:
            return json.load(f)

Использую интерфейсы, когда:

  • Нужно гарантировать наличие методов
  • Работаю с плагинами/расширениями
  • Хочу явно документировать API

В Python это необязательно (утиная типизация), но помогает в больших проектах.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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