chiamare un CDEF in una classe CDEF
Domanda
è il loro modo per fare questo lavoro, senza sacrificare la cdef in CDEF chiamante? (Senza uso di cpdef o)
from array import *
from numpy import *
cdef class Agents:
cdef public caller(self):
print "caller"
A[1].called()
cdef called(self):
print "called"
A = [Agents() for i in range(2)]
def main():
A[0].caller()
Soluzione
Per Cython A [1] sarà un oggetto Python. Se si vuole essere in grado di utilizzare ancora cdef, utilizzare getto automatico il chiamante:
cdef public caller(self):
cdef Agents agent
print "caller"
agent = A[1]
agent.called()
È possibile controllare con la modalità -a in Cython sapere se si sta utilizzando Python o C per ogni codice di linee. (Cython -a yourfile.pyx -> genererà un yourfile.html che è possibile sfogliare e controllare).
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow