[python] for + eval()
Tomas Brabenec
konference na brabenec.net
Čtvrtek Prosinec 22 12:50:25 CET 2005
aha, no vida, tak ja to nejak podle Vasich rad zkusim a dam vedet, jak
jsem to nakonec vyresil.
Tomas Brabenec
http://brabenec.net
Tomas Fulajtar napsal(a):
> Dobry den,
> stejne ale myslim, ze logika uvnitr tohoto cyklu
> musi korespondovat s podminkou - uvedomme si ale, ze v
> pythonu je cyklus for urcen primarne pro prochazeni
> nejake sequence.
> Pokud v tomhle pripade chcete spis provadet nejaky
> cyklus zalozeny na podmince, volil bych spis while
> apod.
>
> dynamicky pomoci eval by to snad slo takhle:
>
> x=1
> y=2
> podminka = "x>y"
>
> while eval(podminka)
> necoudelej
>
>
> V tom neco udelej s samozrejme musi nec odit s
> promenyma pouzityma v podmince, jinka cyklus neskonci.
>
>
> jina varianta je pouzit ruzne iteratory, pripadne
> objekty a polymorfismus ....
>
> Zdravim, Tomas Fulajtar
>
> --- Tomas Brabenec <konference na brabenec.net> wrote:
>
>
>> Potøebuji dosáhnout toho, ¾e chci provádìt pøíkaz
>> for, ale nevím na èem
>> cyklus bude závislý.
>>
>> Mù¾e to být
>>
>> for x in range(1,5)
>> for x > y:
>> for x in ["a","b"]
>> ...
>>
>> Je to uz pochopitelnejsi ?
>>
>> TB
>>
>>
>> Petr Prikryl napsal(a):
>>
>>> 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.
>>>>>
>>>>>
>>> _______________________________________________
>>> Python mailing list
>>> Python na py.cz
>>> http://www.py.cz/mailman/listinfo/python
>>>
>>>
>>>
>>>
>> --
>> Tomas Brabenec
>> http://brabenec.net
>>
>>
>> _______________________________________________
>> Python mailing list
>> Python na py.cz
>> http://www.py.cz/mailman/listinfo/python
>>
>>
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
Další informace o konferenci Python