Cython Verwendung von cinit()

Habe ich:

      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__()"
               #...

wenn ich Anrufe, die DerClass in cyhton passieren, dass die construcor der BaseClass wird automatisch aufgerufen,was zu drucken ist:

       BaseClass __cinit__()
       DerClass __cinit__()
       DerClass __dealloc__()
       BaseClass __dealloc__()

aber es nicht,ihn zum Absturz zu bringen diejenigen, die ich als die DerClass('Ciao').
warum passiert das so und wie kann ich vermeiden, fordern die cinit von BaseClass.
Danke!

InformationsquelleAutor Alex Vl | 2011-10-06
Schreibe einen Kommentar