[python] Dynamicky vytvářené funkce

302302 302302 na centrum.cz
Pátek Červen 19 11:57:27 CEST 2009


Tak už jsem našel odpověď. Pokud by to někoho také zajímalo, tak
http://math.andrej.com/2009/04/09/pythons-lambda-is-broken/


Czenek

______________________________________________________________
> Od: 302302 na centrum.cz
> Komu: "python" <python na py.cz>
> Datum: 19.06.2009 11:29
> Předmět: [python] Dynamicky  vytvářené funkce
>
>Chtěl bych dynamicky vytvořit několik funkcí. Každá funkce bude obsahovat vnější proměnnou, kterou bych chtěl mít pro tu funkci fixovanou. Tedy např. 
>>>> fce=[ ]
>
>>>> for i in range(5):
>>>> ... def temp( ):
>>>> ... ... return i
>>>>
>>>> ... fce.append(temp)
>
>>>> for f in fce:
>>>> ... print f() 
>v listu "fce" chci mít funkce, které by vracely čísla od 0 do 4. Ale všechny vrací jen číslo 4. (Předpokládám, že všechny vrací stejnou proměnnou i, která na konci nabývá hodnoty 4.)
>
>požadovaný výstup:
>0
>1
>2
>3
>4
>
>to, co jsem dostal
>4
>4
>4
>4
>4
>
>Můžu nějak dynamicky docílit, aby každá dílčí funkce vracela novou proměnnou s definovanou hodnotou a ne jen ukazatel na proměnnou?
>
>Czenek
>
>_______________________________________________
>Python mailing list
>Python na py.cz
>http://www.py.cz/mailman/listinfo/python
>



Další informace o konferenci Python