Встречается на собеседованиях • сегодня
Что такое контракт при взаимодействии модулей в 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)Контракты снижают риски ошибок и упрощают поддержку кода.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы