[python] Dynamicky vytvářené funkce
302302
302302 na centrum.cz
Pátek Červen 19 11:29:17 CEST 2009
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
Další informace o konferenci Python