Hallo Ich möchte eine Klasse mit mehreren Methoden erstellen. Jede Methode hängt vom Ergebnis einer anderen Methode ab. Ein vereinfachtes Beispiel wie folgt aussieht:Beste Klassenstruktur für Schritt für Schritt Objekt Manipulation in Python
class klass(object):
def __init__(self, x, y):
self.x = x
self.y = y
self.results = 0
def method1(self):
self.results = self.x + self.y
return self.results
def method2(self):
self.results = math.sqrt(self.results)
return self.results
method2 sollte erst nach method1 genannt. das heißt:
>>> b=klass(3.0, 4.0)
>>> b.method1()
7.0
>>> b.method2()
2.6457513110645907
Die Idee ist, dass jemand method1 und jemand nur das Ergebnis müssen sonst das Ergebnis der method2 auch benötigen. Also muss die erste Person nur Methode1 ausführen und die zweite Person muss Methode1 und dann Methode2 ausführen.
Was ist die beste (lesbarste und einfachste) Möglichkeit, das zu tun.
Beachten Sie, dass dies ist eine viel einfachere Version einer komplexen Klasse
Ja das stimmt. Aber das wird meinen Code verlangsamen. d. h. in Fällen, in denen jemand Methode1 benötigt und nach einiger Zeit auch Methode2 benötigt, ist es besser, Methode1 nicht erneut auszuführen (da sie bereits berechnet und gespeichert wurde). – MaPy
Aber das ist nur eine schnelle Überprüfung mit einer booleschen Variable, die Sie gesetzt haben, als Methode1 ausgeführt wurde, oder? – Flomp