This document is for an old version of Python that is no longer supported. You should upgrade, and read the Python documentation for the current stable release.

# Об’єкти для підказки типу

Various built-in types for type hinting are provided. Only GenericAlias is exposed to C.

PyObject* `Py_GenericAlias`( PyObject *origin, PyObject *args)

  Create a GenericAlias object. Equivalent to calling the Python class `types.GenericAlias`. The origin and args arguments set the `GenericAlias`’s `__origin__` and `__args__` attributes respectively. origin should be a `PyTypeObject*`, and args can be a `PyTupleObject*` or any `PyObject*`. If args passed is not a tuple, a 1-tuple is automatically constructed and `__args__` is set to `(args,)`. Minimal checking is done for the arguments, so the function will succeed even if origin is not a type. The `GenericAlias`’s `__parameters__` attribute is constructed lazily from `__args__`. On failure, an exception is raised and `NULL` is returned.

  Ось приклад того, як зробити тип розширення загальним:

      ...
      static PyMethodDef my_obj_methods[] = {
          // Other methods.
          ...
          {"__class_getitem__", (PyCFunction)Py_GenericAlias, METH_O|METH_CLASS, "See PEP 585"}
          ...
      }

  Дивись також

  The data model method `__class_getitem__()`.

  Нове в версії 3.9.

PyTypeObject `Py_GenericAliasType`

  Тип C об’єкта, який повертає `Py_GenericAlias()`. Еквівалент `types.GenericAlias` у Python.

  Нове в версії 3.9.