Объекты для подсказок типов
Предоставляются различные встроенные типы для подсказок типов. В настоящее время существуют два типа — 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