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 № 1Objektmethoden 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.