Перейти к содержанию

Type hints

Type hints - (подсказки типов, тайпхинты, аннотации) - нативный способ указать тип объекта в Python.

TYPE_CHECKING

Хорошим тоном будет все тайпхинты прятать под вот такую конструкцию:

if TYPE_CHECKING:
    import my_types

TYPE_CHECKING равен False для самой программы на Python при её запуске и равен True для программ проверки типов.

Использовать такие аннотации можно следующим образом:

def fun(arg: 'my_types.Class1') -> None:
    local_var: my_types.AnotherType = fun2()

Аннотации указанные в аргументах функции должны быть заключены в кавычки, в инном случае в рантайме программы мы словим ошибку. Таким образом мы делаем "прямую ссылку" на тип и прячем его от рантайма.
Аннотации для локальных переменных не вычисляются, поэтому тут уже можно обойтись без кавычек.

Ссылки