V pripade, ze ta nova funkcia bude vzdy rovnaka, tak sa toto riesi proste dedenim:
class tridaA: def b(self, x): self.x = x class tridaA2(tridaA): def b(self, x): self.x = x + 1 a=tridaA2() >-----Pôvodná správa----- >Od: 302302 [mailto:302...@centrum.cz] >Komu: python <python@py.cz> >Predmet: [python] ZámÄ›na funkce v instanci objektu > > > >Mám nadefinovanou tÅ™Ãdu > >class tridaA(): >def b(self,x): >self.x=x > >vytvoÅ™Ãm jejà instanci > >a=tridaA() > >mÃsto metody b, ale chci, aby se vždy v tomto objektu zavolala funkce c, která >je nadefinována nÄ›kde mimo: > >def c(self, x): >self.x = x+1 > >Pokud to ale pouze pÅ™iÅ™adÃm a zavolám > >a.b=c >a.b(1) > >tak se do parametru self automaticky nepÅ™iÅ™azuje daný objekt a. > >Jak můžu zamÄ›nit funkce ve vytvoÅ™ené instanci objektu, aby se to chovalo jako >běžná metoda? > >Czenek >_______________________________________________ >Python mailing list >Python@py.cz >http://www.py.cz/mailman/listinfo/python _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python