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

Что такое контракт при взаимодействии модулей в Python

Контракт — это соглашение между модулями (или компонентами) о формате входных/выходных данных и ожидаемом поведении. В Python он часто реализуется через:

  • Документацию (docstrings) — явное описание параметров, возвращаемых значений и возможных исключений.
  • Типы (type hints) — аннотации для контроля типов данных.
  • Утверждения (assertions) — проверки на этапе разработки.
  • Интерфейсы (ABC) — абстрактные классы для гарантии методов.

Пример:

python
from typing import List
from abc import ABC, abstractmethod

class DataProcessor(ABC):
    @abstractmethod
    def process(self, data: List[int]) -> float:
        """Принимает список чисел, возвращает их среднее значение.
        Raises:
            ValueError: Если список пуст.
        """

def calculate_average(numbers: List[int]) -> float:
    assert len(numbers) > 0, "Список не может быть пустым"
    return sum(numbers) / len(numbers)

Контракты снижают риски ошибок и упрощают поддержку кода.

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

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

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

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