Dem Beispiel folgend, " Augementing .pxd "Ich versuche, ".pxd"-Dateien zu verwenden, um eine reine Python-Datei zu ergänzen. (Hinzufügen von Typdefinitionen außerhalb der reinen Python-Datei).
python-Datei:
class A(object):
def foo(self, i=3, x=None):
print "Big" if i > 1000 else "Small"
pxd-Datei:
cdef class A:
cpdef foo(self, int i, x)
Ich habe ein Wörterbuch, das ich standardmäßig auf "None" in Python bin. Leider mag Cython das nicht.
Wenn ich meine "reine" Python-Datei verwende, ohne einen Typ zu deklarieren oder den Typ als "dict" in der pxd-Datei zu deklarieren, bekomme ich den Fehler:
"Unterschrift nicht kompatibel mit vorheriger Erklärung"
Ich habe festgestellt, dass es kompiliert wird, wenn ich KEINEN Standardwert angebe, aber es gibt einen Grund für die Deklaration der Standardwerte.
Gibt es eine Möglichkeit, dies zu regeln?