Inheritance cython遗传
我有一个a.pxd(只声明函数)和一个.pyx,其中只包含一个包含所有函数体的类a 而我有从A继承的B 对于B,我有带一些函数的B.pxd B.pyx 我现在想知道如何告诉B.pyx将ricognise A作为类型名 我所做的是: B.pyx 但它告诉我:A不是类型名 如果我只在一个file.pyx中执行此操作,那么它可以正常工作,但在使用files.pxd时不会出现问题。使用 来自cimport Aclass的Inheritance cython遗传,inheritance,cython,Inheritance,Cython,我有一个a.pxd(只声明函数)和一个.pyx,其中只包含一个包含所有函数体的类a 而我有从A继承的B 对于B,我有带一些函数的B.pxd B.pyx 我现在想知道如何告诉B.pyx将ricognise A作为类型名 我所做的是: B.pyx 但它告诉我:A不是类型名 如果我只在一个file.pyx中执行此操作,那么它可以正常工作,但在使用files.pxd时不会出现问题。使用 来自cimport Aclass的 cdef类B类(Aclass): # ... 或 CIMA端口 cdef类B类(
cdef类B类(Aclass):
# ...
或
CIMA端口
cdef类B类(A.Aclass):
# ...
请注意,
Aclass
必须是cdef
'fed类,Cython不能从Python类继承。当我执行cimport A时,这意味着我正在导入A.pxd,对吗?参数Bclass(A.Aclass)不再给出错误,但当我将Btype转换为Atype时,它会说:不是类型标识符。当然,在a.pxd中定义的是类似于ctypedef结构的,我应该特别导入什么吗?什么是castinA
?使用myBclassInstance
代替,然后请将问题标记为已回答。我很高兴能帮助你。:)
class Bclass(A):
#all the funcions body
cimport A
import A
from A import Aclass
cdef Bclass(Aclass):
#body