类型注解对象¶
æ��ä¾›å‡ ç§�用于类型æ��示的内置类型。 ç›®å‰�å˜åœ¨ä¸¤ç§�类型 -- GenericAlias å’Œ Union。 å�ªæœ‰ GenericAlias 会å�‘ C 开放。
-
PyObject *Py_GenericAlias(PyObject *origin, PyObject *args)¶
- 属于 稳定 ABI 自 3.9 版开始.
创建一个 GenericAlias 对象。 相当于调用 Python 类
types.GenericAlias。 å�‚æ•° origin å’Œ args 分别设置GenericAliasçš„__origin__å’Œ__args__属性。 origin 应该是一个 PyTypeObject*,而 args å�¯ä»¥æ˜¯ä¸€ä¸ª PyTupleObject* 或者任æ„�PyObject*。 å¦‚æžœä¼ é€’çš„ args ä¸�æ˜¯ä¸€ä¸ªå…ƒç»„ï¼Œåˆ™ä¼šè‡ªåŠ¨æž„é€ ä¸€ä¸ªå�•元组并将__args__设置为(args,)。 对å�‚数进行了最å°�é™�åº¦çš„æ£€æŸ¥ï¼Œå› æ¤å�³ä½¿ origin ä¸�是类型函数也会æˆ�功。GenericAliasçš„__parameters__属性是从__args__æ‡’åŠ è½½çš„ã€‚ 如果失败,则会引å�‘一个异常并返回NULL。下é�¢æ˜¯ä¸€ä¸ªå¦‚何创建一个扩展类型泛型的例å�:
... static PyMethodDef my_obj_methods[] = { // Other methods. ... {"__class_getitem__", Py_GenericAlias, METH_O|METH_CLASS, "See PEP 585"} ... }
��
数�模型方法
__class_getitem__()。在 3.9 ç‰ˆæœ¬åŠ å…¥.
-
PyTypeObject Py_GenericAliasType¶
- 属于 稳定 ABI 自 3.9 版开始.
ç”±
Py_GenericAlias()所返回的对象的 C 类型。ç‰ä»·äºŽ Python ä¸çš„types.GenericAlias。在 3.9 ç‰ˆæœ¬åŠ å…¥.