У меня:
cdef class BaseClass():
def __cinit__(self,char* name):
print "BaseClass __cinit__()"
#...
def __dealloc__():
print "BaseClass __dealloc__()"
#...
cdef class DerClass(BaseClass):
def __cinit__(self,char* name,int n):
print "DerClass __cinit__()"
#...
def __dealloc__():
print "DerClass __dealloc__()"
#...
когда я вызываю DerClass в cyhton, случается, что конструкция BaseClass вызывается автоматически , он должен напечатать:
BaseClass __cinit__()
DerClass __cinit__()
DerClass __dealloc__()
BaseClass __dealloc__()
но это не так, он выдает сбой те, которые я называю DerClass ('Ciao'). почему это происходит и как я могу избежать вызова cinit BaseClass. Спасибо!