2. Основы аннотации типов#
Аннотация типов - это дополнительное описание в классах, функциях, переменных, которое указывает какой тип данных должен быть в этом месте.
При этом указанные типы не проверяются и не форсируются самим Python. То есть, при выполнении кода, несоответствие реального типа данных тому, что написано в аннотациях, не вызывает ошибок или предупреждений. Для проверки типов данных используются отдельные модули, например, mypy. Mypy выполняет статический анализ кода - проверяет соответствие типов данных без выполнения кода.
Примечание
Аннотация типов добавлялась постепенно в Python 3.x. Начиная с версии Python 3.0 была доступна аннотация функций, а в Python 3.6 была добавлена аннотация для переменных.
Преимущества:
при создании объектов сразу описаны типы данных
можно проверять правильность указанных типов с помощью отдельных модулей
IDE могут делать подсказки, указывать на ошибки на основании аннотации типов
Нюансы:
как и с тестами, надо потратить время на написание аннотаций (хотя есть софт, который может в этом помочь)
на данный момент, надо делать довольно большое количество импортов
желательно использовать Python 3.6+ чтобы были доступны все возможности, в идеале, последнюю версию Python.