[python] Volání metody podle proměnné
Michal Vyskocil
michal.vyskocil na gmail.com
Sobota Květen 5 21:25:56 CEST 2007
On Saturday 05 of May 2007 21:09:41 Jakub Vojáček wrote:
>
> No, jedno řešení by bylo použít exec:
> exec("return %s.udelejneco()"%(promennaSnazvemMetody))
>
> ale není to hezké řešení, chtělo by to použít slovníky atd...
To neni hezke, ale ani bezpecne reseni.
1.) exec("return ...") vyvola chybu SyntaxError: 'return' outside function
2.) zadna kontrola parametru z POSTu, takze takto davame uzivatelum moznost
sahat primo do strev aplikace
3.) eval je daleko pomalejsi, nez pristup do slovniku a v pripade vytizenejsi
aplikace to bude dost znat ...
Lepsi je pouzit slovnik
neco jako
handler_list = { "handler1" : funkce1, "handler2" : funkce2 }
a
return handler_list[handler]()
--
best regards
Michal Vyskocil
Další informace o konferenci Python