Анотация типов
Аннотации типов – это способ объявить ожидаемые типы аргументов и возвращаемого значения функции, переменных и атрибутов.
Допустимые значения анотации типов
конкретный класс, например str или FrenchDeck;
параметризованный тип коллекции, например
list[int], tuple[str, float]
и т. д.;typing.Optional
, напримерOptional[str]
, для объявления поля, которое может принимать значения типаstr
илиNone
.Переменную можно также инициализировать значением. (
var_name: some_type = a_value
)
[!info] Важно на этапе импорта, когда модель загружается, Python читает их и строит словарь annotations, который typing.NamedTuple и @dataclass затем используют для дополнения класса.
Для поля a заводится запись в
__annotations__
, но больше оно никак не используется: атрибут с именем a в классе не создается.Поле b сохраняется в аннотациях и, кроме того, становится атрибутом класса со значением
1.1
.c – это самый обычный атрибут класса, а не аннотация
Last updated