Cython использует cinit ()

У меня:

      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. Спасибо!

7
задан agf 17 October 2011 в 00:19
поделиться