RSS Планета Python

Даниэль Рой Гринфелд: Распаковка для именованных аргументов

Аннотации типов для вызываемых объектов с *args и kwargs фокусируются на типах содержимого внутри контейнеров. Python требует, чтобы ключи kwargs были строками, иначе возникает ошибка TypeError. Оператор Unpack позволяет указывать типы для ключевых аргументов, следующих определённому шаблону. Однако аннотации типов в основном предназначены для статического анализа типов проверками типов, а не для runtime-енforcement. Следовательно, неправильные типы аргументов или отсутствующие/лишние ключевые аргументы могут не вызывать ошибок runtime. Оценка типов runtime в Python полагается на функции isinstance и issubclass. Модуль typing используется внешними инструментами, такими как проверки типов и IDE, для статического анализа. Оператор Unpack может быть использован для указания типов содержимого kwargs с помощью TypedDict. Ошибки runtime не возникнут, если типовая аннотация является неправильной. Система типов Python отличается от механизмов runtime-проверки типов.
favicon
daniel.feldroy.com
Daniel Roy Greenfeld: Unpack for keyword arguments
Create attached notes ...