Ahoj,

nejjednodussi zpusob, ktery me napada, vypada takhle:

>>> def function(x, y):
...     print x + y
...
>>> function_name = "function"
>>> eval("%s(1,2)" % function_name)
3

Urcite to neni programatorsky uplne nejkrasnejsi a "nejlepcejsi", ale
funguje to. V podstate se vyuzije funkce *eval*:

http://docs.python.org/2/library/functions.html#eval

ktera se pokusi vyhodnotit zadany retezec. Nejdrive se tedy provede operace
*"%s(1,2)" % function_name* jejimz vystupem je retezec *"function(1,2)" *a
ten se pak preda jako parametr do funkce *eval*.

Pokud ale chces volat metodu (funkci uvnitr tridy), tak je mozne pouzit
getattr:

http://docs.python.org/2/library/functions.html#getattr

ale tam nevim o zpusobu, jak metode predat parametr.


2013/10/9 <[email protected]>

> Mám název funkce v proměnné, tak bych se chtěl zeptat jak tu funkci můžu
> zavolat? jde mi o to abych dále té funkci mohl dát další parametry
> _______________________________________________
> Python mailing list
> [email protected]
> http://www.py.cz/mailman/listinfo/python
>



-- 
^nu.friX
aka Dan Pressl
Reality is useless & F4Q DMNC!!!
Every syntax creates code. And code is poetry.
_______________________________________________
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python

Odpovedet emailem