您需要Test
围绕C类型制作一个实际的包装器。但是您也不能将C参数传递给Python函数(例如构造函数)。因此,您还需要一个工厂功能。这是一个例子:
cdef class Test:
cdef test* _t
def __cinit__(self):
self._t = NULL
def _setup(self, test* t):
self._t = t
return self
property something:
def __get__(self):
return self._t._something
def __set__(self, int val):
self._t._something = val
cdef Test_create(test* t):
return test()._setup(t)
然后在do_something()
:
return Test_create(t)