Zdravim, > Ne o moc, protoze to neco_udelam_s_funkci je taky funkce, ne?
Ano. > Jak se z toho pak pozna, ze chci do promenne index strcit adresu funkce > neco_udelam_s_funkci a ne ji zavolat a strcit tam jeji navratovou hodnotu, > kdyz ji predavam argument index :-O > > Analogicky ke Tvym prikladum bych cekavala, ze se adresa priradi v pripade: > index = neco_udelam_s_funkci > coz by odpovidalo Tvemu prirazeni b=a. Ale kdyz napisu, ze > neco_udelam_s_funkci(index) > tak to vypada spis jako jeji volani, tedy a(1) > a to prave neni pravda. Pokusim se to vysvetlit jinak, ackoliv dekoratory nepouzivam, ale snad to nebudu psat zbytecne. Pomozme si analogii a matematiky. Pak to neco_udelam_s_funkci je vlastne operator (funkce pracujici s funkcemi). Treba necht je neco_udelam_s_funkci diferencialni operator D, ktery funkci derivuje. Potom g = D(f) definuji funkci g, ktera je derivaci funkce f (presne totez mame v diskutovanem prikazu). Naopak aby se jednalo o hodnotu (funkci hodnotu), pak tuto hodnotu musime urcovat v nejakem konkretnim bode. d = D(f)(1) urcime hodnotu derivace funkce f v bode 1, coz je totez jako d = g(1) Tedy abych to nejak zakoncil, aby to bylo Vami zminovane volani funkce, musel by tam byt argument funkce index. Ci jeste jinak, ono se o volani funkce jedna, ale pouze volani funkce neco_udelam_s_funkci, ktera zde figuruje jako operator a tedy transformuje jednu funkci (zde index) na druhou. To, ze je na leve strane take index je pouze analogie prikazu a = a + 1 Tak ted nevim, jak moc jasnejsi to je.. :-) Snad jo. Karel _______________________________________________ Python mailing list [email protected] http://www.py.cz/mailman/listinfo/python
