import my_python_module as q
cdef class Y:
cdef int i
cdef public object x # public so it can be accessed from Python
def __cinit__(self, x_):
assert isinstance(x_, q.X)
self.x = x_
并且my_python_module.py是定义类X的地方:
^{pr2}$
然后,你就这样使用它:
import my_python_module as q
import p
y = p.Y(q.X())
print y.x
print y.x.i
我会用这样的方法:
当暴露外部结构或类的属性时,上面的方法特别有用。请参考以下示例: wrapping C++
我不认为您可以(http://docs.cython.org/src/userguide/sharing_declarations.html#sharing-extension-types),但是您可以使用
__cinit__
来声明属性具有正确的类型:在您的Cython文件(例如名为“p.pyx”)中:
并且
^{pr2}$my_python_module.py
是定义类X的地方:然后,你就这样使用它:
相关问题 更多 >
编程相关推荐