当前位置 : 主页 > 手机开发 > 其它 >

cython继承

来源:互联网 收集:自由互联 发布时间:2021-06-19
我有一个A.pxd(只是声明函数)和A.pyx只包含一个带有所有函数体的A类. 比我有B继承自A, 对于B我有B.pxd的一些功能 B.pyx class Bclass(A): #all the funcions body 我现在想告诉B.pyx如何将A识别为类型名
我有一个A.pxd(只是声明函数)和A.pyx只包含一个带有所有函数体的A类.

比我有B继承自A,

对于B我有B.pxd的一些功能

B.pyx

class Bclass(A):
    #all the funcions body

我现在想告诉B.pyx如何将A识别为类型名称?

我做的是:

B.pyx

cimport A
import A
from A import Aclass
cdef Bclass(Aclass):
   #body

但它告诉我:A不是类型名称

如果我只在一个file.pyx中执行此操作它没有问题,但使用files.pxd它不会.

使用

from A cimport Aclass
cdef class Bclass(Aclass):
    # ...

要么

cimport A
cdef class Bclass(A.Aclass):
    # ...

注意,Aclass必须是cdef’fed类,Cython extension types不能继承Python类.

网友评论