[python] Volání metody podle proměnné
Jan Janech
devel na atlas.sk
Sobota Květen 5 22:00:58 CEST 2007
ahoj,
eval je dost skareda vec, neodporucam pouzivat, kde nieje treba.
V tomto pripade sa da pouzit jeden s troch sposobov (okrem toho slovniku
z handlermi, ktory je podla mna dost neprakticky):
1) Pristup ku globalnym premennym a funkciam podla mena:
globals()[nazov]
2) Pristup ku lokalnym premennym a funkciam podla mena:
locals()[nazov]
3) Pristup ku atributom a metodam lubovolneho objektu podla mena:
getattr(objekt, nazov)
Inak presne toto sa tu pred nedavnom preberalo, odporucam najskor
pozriet do archivu, az potom sa pytat
Janko
martin.stiborsky na gmail.com wrote:
> Zdravím, mám problémek. Dá se v pythonu zařídit zavolání metody podle
> hodnoty proměnné ?
> Například když mám:
>
> import foo,bar
>
> promennaSnazvemMetody = 'foo'
>
> tak aby fungovalo:
>
> return promennaSnazvemMetody.udelejneco()
>
> Ona proměnná je typu str, takže tudy cesta nevede ..
> Potřebuju to k programování webíku s cherrypy, podle proměnné která se
> získá přes POST se určí handler který má zpracovat stránku, chci se
> takhle vyhnout ifům ..
>
> Díky moc za rady
Další informace o konferenci Python