[python] for + eval()

Petr Prikryl PrikrylP na skil.cz
Čtvrtek Prosinec 22 11:54:47 CET 2005


Taky mi to připadá divné. 
Proč se má ten eval vůbec používat?
Pokud z nějakého důvodu ano, proč je v něm 
"for %s:"? Je to jakoby začátek příkazu cyklu, 
kterému se musí správně dosadit "x in cont",
ale chybí tomu tělo cyklu. Pokud se nemýlím, 
eval() vyžaduje zadání výrazu a ne příkazu.
Možná by pomohlo místo příkazu for použít generátor
seznamu (list comprehension). eval() může dostat
kontext v podobě dalších parametrů globals
a locals. Každopádně to chce mít jasno v tom,
čeho se má dosáhnout.

pepr

> Mělo by to vypadat napr. takhle:
> 
> data = []              
> for x in range (1,5):
>    for sub_object in object.kids:
>        data.append(parsetag(self,sub_object))
> 
> Je to jen vytazek z kodu.
> 
> -- 
> Tomas Brabenec
> http://brabenec.net
> 
> Jaroslav Pachola napsal(a):
> > No ja nevim, mohl bys prosim napsat 
> > bez evalu priklad toho cyklu, jak 
> > by to v praxi melo vypadat? Mne to 
> > prijde nejake divne.



Další informace o konferenci Python