[python] Záměna funkce v instanci objektu
Jan Janech
devel na atlas.sk
Úterý Duben 20 11:37:35 CEST 2010
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 na py.cz
> http://www.py.cz/mailman/listinfo/python
>
>
>
--
____________________________
Ing. Jan Janech
Katedra softverovych technologii
Fakulta riadenia a informatiky
Zilinska Univerzita
Další informace o konferenci Python