Встречается на 1% собеседований по Python
Какие знаешь особенности типизации в 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
интервью вопросы и ответы