Python Glossary English

Python 3.5+typingпонятие

typing

модуль

Средства подсказок типов: Any, Optional, TypedDict, Protocol, обобщения — для mypy, IDE и читателя кода.

Синтаксис

import typing

typing описывает намерения, а не проверяет их: интерпретатор аннотации не сверяет, это делают mypy, pyright и IDE. С Python 3.9 вместо List[int] и Dict[str, int] пишут встроенные list[int] и dict[str, int], а с 3.10 вместо Optional[X] — X | None, так что из typing остаются в основном Any, Protocol, TypedDict, Literal и подобные. Не путайте с types: тот модуль про реальные объекты во время выполнения.

Примеры

from typing import get_type_hints
def double(x: int) -> int:
    return x * 2
print(double("ab"))  # → abab — подсказки типов при запуске не проверяются
print(get_type_hints(double))  # → {'x': <class 'int'>, 'return': <class 'int'>}

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности