Ich habe eine Klasse Vec3D (siehe Ссылка )
Zur Zeit erlaube ich Vec3D (1,0,0) + 1,2, aber ich frage mich, wie ich den + Operator so überladen soll, dass ich folgende Ausgabe bekomme:
%Vor%Code ist nicht erforderlich, aber nur ein Hinweis, in welche Richtung ich schauen soll. Etwas allgemeineres ist nützlicher als eine spezifische Implementierung, da ich dasselbe für Multiplikation, Subtraktion usw. implementieren muss.
Sie möchten die Methoden __add__
(und möglicherweise __radd__
und __iadd__
) verwenden. Weitere Informationen finden Sie Ссылка .
implementieren __radd__
. Wenn Sie 3.3 + Vec3D(1,0,0)
aufrufen, solange float nicht die Methode __add__(y)
hat, wobei y Vec3D ist, wird Ihre reflektierte Version __radd__
aufgerufen.
Tags und Links python