Да, вы можете.Прежде всего, аннотации в python ничего не делают сами по себе.В других языках вы можете ожидать, что объявление переменной как int
приведет к ошибке, если она будет создана, например, как строка, но это не так в python.
Аннотации толькоиспользуемые сторонними библиотеками или инструментами, например, вашей IDE, когда он дает вам подсказки, или mypy
, когда он выполняет статический анализ типа вашего кода.
Так что вы должны использовать виданнотации, с которой хорошо работают ваши инструменты, и из моего личного опыта это означало бы использование аннотаций типов из модуля typing
для базовых типов.
Хотя декларативного заявления о том, чтоВы должны использовать, здесь есть поток , обсуждающий типы классов данных по умолчанию, включая ericvsmith (автор модуля dataclasses) и gvanrossum (автор python), и они соглашаются, что typing.Any
должно быть предпочтительнее, чем object
.
Я предполагаю, что документация класса данных использует базовые типы Python, чтобы не создавать слишком много бременизнания о читателе.Вы можете использовать классы данных просто отлично, ничего не зная о модуле typing
в конце концов, и как только вы освоитесь с работой классов данных, вы, вероятно, столкнетесь и оцените дополнительную мощь использования аннотаций typing
в любом случае.