Ele*_*zzi 5 inheritance cython
我有一个A.pxd(只是声明函数)和A.pyx只包含一个带有所有函数体的A类.
比我有B继承自A,
对于BI而言,B.pxd具有一些功能
B.pyx
class Bclass(A):
#all the funcions body
Run Code Online (Sandbox Code Playgroud)
我现在想告诉B.pyx如何将A识别为类型名称?
我做的是:
B.pyx
cimport A
import A
from A import Aclass
cdef Bclass(Aclass):
#body
Run Code Online (Sandbox Code Playgroud)
但它告诉我:A不是类型名称
如果我只在一个file.pyx中执行此操作它没有问题,但使用files.pxd它不会.
使用
from A cimport Aclass
cdef class Bclass(Aclass):
# ...
Run Code Online (Sandbox Code Playgroud)
要么
cimport A
cdef class Bclass(A.Aclass):
# ...
Run Code Online (Sandbox Code Playgroud)
注意,Aclass必须是cdef'fed class,Cython 扩展类型 不能从Python类继承.