我想创建一个新的Union[int,str]
类型
我想拥有对实例Union_Type
的访问权限,以创建一个类似Union[int,str]
的新类型
PyType_Type
是公共的,所以我可以写
(PyObject*)&PyType_Type
但是Union_Type
不是公共的,所以我不能写
(PyObject*)&Union_Type
我可以添加我的C代码吗
PyAPI_DATA(PyTypeObject) UnionType_Type;
代码示例:
PyObject *newUnion=PyObject_GetItem(&UnionType_Type,
PyTuple_Pack(2,&PyLong_Type,&PyUnicode_Type));
我想要一个PyObject*
to联合类型来调用__getitem__()
并创建一个新的子类型
解决方案:
这不是不公开的问题
Union_Type
不存在typing.Union
不是通过C级全局变量定义的;它是通过typing
模块中的class
语句定义的如果您想通过C API访问} attribute 。除了少数例外,这与您在C级访问任何可导入模块的内容时应该使用的过程相同
typing.Union
,您必须执行与Python级别完全相同的操作:module对象的importtyping
和access the ^{相关问题 更多 >
编程相关推荐