/ / Python: Erstellen einer Taschenrechnerklasse - Python

Python: Erstellen einer Rechnerklasse - Python

Ich möchte einen Klassenrechner schreiben, der Folgendes beinhaltet:

  • eine Funktion aufgerufen add Das nimmt zwei Parameter mit doppelten Werten und gibt ihre Summe zurück
  • eine Funktion aufgerufen subtract das nimmt zwei Parameter mit doppelten Werten und gibt deren Differenz zurück (subtrahiere den zweiten vom ersten)
  • eine Funktion aufgerufen multiply Das nimmt zwei Parameter mit doppelten Werten und gibt ihr Produkt zurück
  • eine Funktion aufgerufen divide Das nimmt zwei Parameter mit doppelten Werten und gibt den Wert des ersten durch den zweiten geteilt zurück. Wenn die zweite Zahl eine Null ist, teilen Sie sie nicht und geben Sie "Sie können nicht durch Null teilen!"

Dies ist mein Versuch, aber anscheinend ist es nicht richtig.

class Calculator:
def add(x,y):
return x+ y
def subtract(x,y):
return x - y
def multiply(x,y):
return x * y
def divide(x,y):
if y==0:
return "You can t divide by zero!"
else:
return x/y

Aus den Ergebnissen erhalte ich eine unerwartete Kennung x und y.

Antworten:

1 für die Antwort № 1

Objektmethoden in Python müssen den Parameter "this", den Sie von "C" kennen, oder das Argument, das auf das Objekt selbst verweist, explizit definieren. In Python wird es normalerweise "Selbst" genannt. Zum Beispiel:

class Calc:
def add(self,x,y): return x+y

Da alle Ihre Methoden nicht wirklich selbst benötigt werden und der Rechner eher ein Container von Methoden ist, können Sie sie als Klassenmethoden definieren Calc.add(3,4) funktioniert, ohne ein Objekt zu erstellen:

class Calc:
@staticmethod
def add(x,y): return x+y

Wenn Sie mit Python noch nicht vertraut sind, beachten Sie bitte, dass auch die Einrückung sehr wichtig ist.