Модуль typing
реализует подсказки типа, как определено в PEP 484 . Подсказки типа - это именно то, что подразумевает название ... они являются "подсказками". Они не влияют на выполнение кода Python самостоятельно. Согласно документу PEP 484:
Хотя эти аннотации доступны во время выполнения через обычные
Атрибут annotations , проверка типов во время выполнения не выполняется. Вместо этого предложение предполагает наличие отдельного автономного
средство проверки типов, которое пользователи могут добровольно запускать поверх своего исходного кода.
По сути, такая проверка типов действует как очень мощный линтер.
Таким образом, вам понадобится дополнительный код или инструмент, чтобы использовать информацию о типе, которую вы добавили в свой код, чтобы либо сообщить вам заранее, что ваш код нарушает подсказки типа, либо сообщить вам во время выполнения кода. Сам модуль typing
не обеспечивает эту функциональность.
Я поместил ваш код в мою PyCharm IDE, и IDE помечает строковый параметр, который вы передаете конструктору, как нарушение подсказок типа, заявляя: "Ожидаемый тип 'int', получен 'str' вместо ". Таким образом, PyCharm IDE является одним из таких инструментов, который использует подсказки типов. PyCharm, однако, очень рад запустить код и не генерирует ошибок.