Spec-Zone.ru › Python 3.12

Объекты для подсказок типов

Предоставляются различные встроенные типы для подсказок типов. В настоящее время существуют два типа — GenericAlias и Union. Только GenericAlias доступно для C.

PyObject *Py_GenericAlias(PyObject *origin, PyObject *args)
Часть Стабильной ABI с версии 3.9.

Создаёт объект GenericAlias. Эквивалентно вызову Python-класса types.GenericAlias. Аргументы origin и args устанавливают соответственно атрибуты GenericAlias и __origin__ объекта. origin должен быть PyTypeObject*, а args может быть PyTupleObject* или любым PyObject*. Если переданный args не является кортежем, автоматически создаётся кортеж из одного элемента и __args__ устанавливается в (args,). Минимальная проверка аргументов выполняется, поэтому функция выполнится успешно даже если origin не является типом. Атрибут GenericAlias‘s __parameters__ строится лениво из __args__. При ошибке генерируется исключение, и возвращается NULL.

Вот пример того, как сделать расширенный тип универсальным:

%%%CODE_BLOCK_13%%>

См. также

Метод модели данных __class_getitem__().

Добавлен в версии 3.9.

PyTypeObject Py_GenericAliasType
Часть Стабильной ABI с версии 3.9.

Тип C объекта, возвращаемого Py_GenericAlias(). Эквивалентно types.GenericAlias в Python.

Добавлен в версии 3.9.

© 2001–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.12/c-api/typehints.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API