Wie erben mathematische Operationen?

8

Für eine Gruppe von Objekten, die nummeriert sind (genannt ein geordnetes Feld), brauchen Sie nur die folgenden Dinge:

  • Zusatz
  • Multiplikation
  • Verneinung
  • Gegenseitig
  • LessThanEqual

Und der Rest (wie Subtraktion und Gleichheit) folgt. Natürlich muss ich auch Dinge wie __init__ und __str__ hinzufügen, aber welche Art von Objekt kann ich davon erben, um die anderen Operatoren zu versorgen? Einige andere Operatoren, die ich von den oben genannten ableiten möchte, schließen ein:

  • Subtraktion
  • Teilung
  • Absoluter Wert
  • Alle anderen Vergleichsoperatoren
  • usw. ...
PyRulez 30.06.2013, 20:37
quelle

3 Antworten

2

Sehen Sie sich das Nummern -Modul an. Es gibt abstrakte Basisklassen für numerische Typen.

Sieh dir auch die Liste der magischen Methoden an, die sich auf numerische Typen beziehen: Ссылка

    
jterrace 30.06.2013 20:42
quelle
2

Obwohl es keine vollständige Antwort für Vergleiche gibt, gibt es functools.total_ordering .

    
icktoofay 30.06.2013 20:44
quelle
0

Sie müssen Operatoren dafür überschreiben.

Die vollständige Methode ist hier gut dokumentiert: Ссылка

    
Sibi 30.06.2013 20:41
quelle

Tags und Links