Встречается на собеседованиях • сегодня
Какие знаешь особенности типизации в Python
Python использует динамическую типизацию — типы переменных определяются во время выполнения, а не компиляции. Однако с Python 3.5+ появилась поддержка аннотаций типов (type hints) через модуль typing, что позволяет статически проверять типы с помощью инструментов вроде mypy.
Ключевые особенности:
- Утиная типизация — объект считается подходящим, если реализует нужные методы/атрибуты, а не наследует от конкретного класса.
- Аннотации типов (необязательные, но полезные):
python
def greet(name: str) -> str: return f"Hello, {name}" - Union и Optional:
python
from typing import Union, Optional def divide(a: float, b: float) -> Union[float, None]: return a / b if b != 0 else None - Generics (обобщенные типы):
python
from typing import List, Dict def process(items: List[int]) -> Dict[str, int]: return {"count": len(items)} - Structural subtyping (протоколы) — типы определяются структурой, а не явным наследованием:
python
from typing import Protocol class Flyer(Protocol): def fly(self) -> str: ... Any— отключает проверку типов, аNoReturnуказывает, что функция никогда не возвращает управление.
Типизация в Python остается динамической, но аннотации помогают улучшить читаемость и надежность кода.

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