Cython, Special methoden überladen ?

Python in C/C++ embedden, C-Module, ctypes, Cython, SWIG, SIP etc sind hier richtig.
Antworten
NiklasRosenstein
User
Beiträge: 17
Registriert: Donnerstag 16. Juni 2011, 21:38

Hi,

ist es möglich eine spezial methode zu überladen ? Diese sollten ja nicht mit `cdef` definiert werden.
Was ich im grunde möchte ist folgendes:

Code: Alles auswählen

cdef class Vector:
    def __add__(self, Vector other):
        # add 2 vectors

    def __add__(self, double other):
        # add other to every component in vector
Wenn ich nun aber folgendes aufrufe:

Code: Alles auswählen

v1 = Vector()
v2 = Vector(1)
v3 = v1 + v2
kommt die fehlermeldung dass Vector nicht zu float konvertiert werden kann.

Danke schonmal,
Niklas
deets

Waere mir nicht bekannt, dass das geht. Aber Cython hat eine *sehr* aktive ML, da solltest du sowas fragen.
Antworten