/ / Python: Vytvorenie kalkulačnej triedy - python

Python: Vytvorenie kalkulačnej triedy - python

Chcel by som napísať triedu Kalkulačka vrátane:

  • funkcia nazvaná add ktorý obsahuje dva parametre obsahujúce dvojité hodnoty a vráti ich sumu
  • funkcia nazvaná subtract ktorý má dva parametre obsahujúce dvojité hodnoty a vracia ich rozdiel (odčíta druhý od prvého)
  • funkcia nazvaná multiply ktorý obsahuje dva parametre obsahujúce dvojité hodnoty a vráti ich produkt
  • funkcia nazvaná divide ktorý má dva parametre obsahujúce dvojité hodnoty a vráti hodnotu prvej delené na druhú. Ak je druhé číslo nula, nedeľte sa a nevráťte "Nemôžete rozdeliť nulou!"

Toto je môj pokus, ale zjavne to nie je správne.

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

Z výsledkov získam neočakávaný identifikátor x a y.

odpovede:

1 pre odpoveď č. 1

Metódy objektov v Pythone musia explicitne definovať parameter "to", ktorý poznáte z "C", alebo argument týkajúci sa samotného objektu. V Pythone sa zvyčajne nazýva "ja". Napríklad:

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

Keďže všetky vaše metódy skutočne nepotrebujú seba a kalkulačka je skôr kontajnerom metód, môžete ich definovať ako triedy metódy, takže Calc.add(3,4) pracuje bez vytvorenia objektu:

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

Ak ste na pythón nový, prosím poznamenajte, že odsadenie je tiež veľmi dôležité.