Что такое type annotation?
Type annotation (аннотация типов) в Python — это способ явно указать, какого типа данные ожидаются в переменных, аргументах функций и их возвращаемых значениях.
📌 Они не влияют на выполнение кода (Python всё равно остаётся динамически типизированным языком) — это в первую очередь подсказка для разработчиков, IDE и инструментов статического анализа (mypy, pyright).
1. Синтаксис
Аннотации добавляются после имени переменной или параметра через двоеточие :, а для возвращаемого значения — через стрелку ->.
def greet(name: str, age: int) -> str:
return f"Привет, {name}! Тебе {age} лет."2. Аннотация переменных
username: str = "Alice"
age: int = 30
scores: list[int] = [10, 20, 30]3. Сложные типы (модуль typing)
typing)В Python до 3.9 для сложных структур используют typing:
from typing import List, Dict, Tuple, Optional
names: List[str] = ["Alice", "Bob"]
user: Dict[str, int] = {"age": 25}
coords: Tuple[int, int] = (10, 20)
maybe_value: Optional[int] = None # int или NoneС Python 3.9+ можно писать короче:
4. Аннотация Any, Union, Literal
Any, Union, Literal5. Пример с классами
6. Пример в автотестах
✅ Зачем использовать type annotations?
Улучшает читаемость кода.
Ускоряет понимание API функций.
Позволяет IDE делать автодополнение и проверку.
Упрощает рефакторинг.
Работает с mypy и другими линтерами для поиска ошибок до запуска кода.
Last updated
Was this helpful?