Đối tượng cho gợi ý kiểu

Nhiều loại tích hợp sẵn cho gợi ý loại được cung cấp. Hiện tại có hai loại -- GenericAliasUnion. Chỉ GenericAlias được tiếp xúc với C.

PyObject *Py_GenericAlias(PyObject *origin, PyObject *args)
Một phần của ABI ổn định kể từ phiên bản 3.9.

Tạo một đối tượng GenericAlias. Tương đương với việc gọi lớp Python types.GenericAlias. Các đối số originargs lần lượt đặt các thuộc tính GenericAlias's __origin____args__. origin phải là PyTypeObject*args có thể là PyTupleObject* hoặc bất kỳ PyObject* nào. Nếu args được thông qua không phải là một bộ, thì một bộ 1 sẽ tự động được tạo và __args__ được đặt thành (args,). Việc kiểm tra tối thiểu được thực hiện đối với các đối số, do đó hàm sẽ thành công ngay cả khi origin không phải là một loại. Thuộc tính GenericAliascủa __parameters__ được xây dựng một cách lười biếng từ __args__. Nếu thất bại, một ngoại lệ sẽ xuất hiện và NULL được trả về.

Dưới đây là ví dụ về cách tạo loại tiện ích mở rộng chung chung:

...
PyMethodDef tĩnh my_obj_methods[] = {
    // Các phương thức khác.
    ...
    {"__class_getitem__", Py_GenericAlias, METH_O|METH_CLASS, "Xem PEP 585"}
    ...
}

Xem thêm

Phương pháp mô hình dữ liệu __class_getitem__().

Added in version 3.9.

PyTypeObject Py_GenericAliasType
Một phần của ABI ổn định kể từ phiên bản 3.9.

Loại C của đối tượng được trả về bởi Py_GenericAlias(). Tương đương với types.GenericAlias trong Python.

Added in version 3.9.