我有一个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它不会。
答案 0 :(得分:7)
使用
from A cimport Aclass
cdef class Bclass(Aclass):
# ...
或
cimport A
cdef class Bclass(A.Aclass):
# ...
请注意,Aclass
必须是cdef
'fed class,Cython extension types 不能继承Python类。