Dne 21.2.2014 19:30, Petr Viktorin napsal(a):
2014-02-21 18:52 GMT+01:00 Marcus Scalpere <xdlabac...@seznam.cz>:
Zdravím,
můj dotaz je lepší asi předvést než vysvětlovat, takže:

class pokus:
     def __init__(self, vstup):
         self.vstup = vstup

     def nejaka_funkce(self):
         return (self.rok + 9) % 28

     def jina_funkce():
         return ((self.nejaka_funkce - 1) * 11) % 30

prvni = pokus(1845)
print (prvni.jina_funkce())

(Jen příklad, skutečnost je trochu složitější, ale i kdyby nebyla, chci na
to přijít)
Je jasný, že mi to vyhodí chybu, poskytuji argument a přitom žádný
nepotřebuje. Takže moje otázka je - jak to provést, abych mohl ve třídě
používat metody, které mají jako argument výsledek jiné funkce ve třídě? A
zároveň abych neměl problém při volání? Je mi jasný, že to určitě nějak
jde...a omluvte mě, na OOP stále koukám jak pavián na Rosettskou desku:/
Je to celkem jednoduché: metody definuješ se "self", ale voláš bez
"self" (ten se doplní sám, z objektu na kterém tu metodu voláš):

class pokus:
     def __init__(self, rok):
         self.rok = rok

     def nejaka_funkce(self):
         return (self.rok + 9) % 28

     def jina_funkce(self):
         return ((self.nejaka_funkce() - 1) * 11) % 30

prvni = pokus(1845)
print (prvni.jina_funkce())
_______________________________________________
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

No jasně, čekal jsem, že to bude jen nějaká drobnost. Hned se cítím o něco dospělejší. Vše funguje jak má, děkuji mnohokráte!
_______________________________________________
Python mailing list
python@py.cz
http://www.py.cz/mailman/listinfo/python

Visit: http://www.py.cz

Reply via email to