Este ma napadlo jedno riesenie. Ale rovnako blbe ako vsetky ostatne :)
Len je ciste, bez metaprogramovania.
class tridaA():
@staticmethod
def _b(self, x):
self.x=x
def b(self, x):
return self._b(self, x)
a potom:
a = tridaA()
a._b = c
a bude fungovat.
Jan Janech
302302 wrote:
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
--
____________________________
Ing. Jan Janech
Katedra softverovych technologii
Fakulta riadenia a informatiky
Zilinska Univerzita
_______________________________________________
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python