Pokud si chces nechat poradit, pak je to samozrejme jina.

1) exec nepotrebujes na zmenu lokalnich promenych. To cemu rikas "promenne" 
jsou ve skutecnosti jen jmena ve jmennych prostorech, v podstate obycejne 
slovniky. A na zmenu slovniku existuji lepsi zpusoby, vime?
V nejjednodussi verzi by tedy stacilo obalit pozadovanou funkcnost do funkce 
nebo metody ktera vrati slovnik. Potom staci neco ve stylu: 

locals().update(othervariables)

Vraceny slovnik muzes predem zkontrolovat na pricetnost (jenom kafe), doplnit 
jmenum nejaky unikatni prefix... fantazii se meze nekladou. Uplne stejne muzes 
presypat promene do instance, tridy nebo modulu do atributu __dict__. Dokonce 
bys mel, protoze narozdil od znasilnovani locals() je to z hlediska 
interpretru legalni.

2) exec nepotrebujes na pristup k promenlivym strukturam. Pokud mas nejakou 
'freeform' strukturu, (dejmetomu strom uzlu v xml dokumentu) a chces predat 
'cestu; k nejakemu uzlu ktery urcis az za behu, nemusis se matlat s 
generovanim syntakticky spravneho textu programu pro exec 
("rootnode.node[n].childnode[attr]"), ale proste si onu cestu vyjadris jako 
funkci:

worknode = lambda x: x.node[n].childnode[attr]

Muzes se samozrejme odkazovat na lokalni promenne cimz vznikne klasicka 
uzavera (closure). Takovou funkci (nemusi byt v lamda forme, ale vetsinou je 
tak citelnejsi) muzes predat dal jako jakykoliv jiny objekt.


3) exec nepotrebujes k dynamickemu nacteni modularniho kodu, na to je mnohem 
lepsi builtin __import__, ktery importovany kod zaroven opatri vlastnim 
jmennym prostorem a vubec klasickym komfortem. Konkretni pouziti zavisi na tom 
ceho chces vlatne dosahnout.

Zapomel jsem na neco?


Martin B. (Friday 04 of March 2011 12:48:56):
> V Fri, 4 Mar 2011 12:00:58 +0100
> 
> Hynek Fabian <hynek.fab...@firma.seznam.cz> napsáno:
> > > Nechci rozebirat jestli je to dobre nebo ne ale proste to tak
> > > potrebuju.
> > 
> > Jsi pitomec. Nechci rozebirat jestli je to fer nebo ne ale proste to
> > tak je.
> 
> Oops, Tvuj nazor vyvracet nehodlam natoz komentovat.
> 
> > Bezne se k invektivam uchyluji nerad, ale tehle se nedalo odolat :-p
> > Nechapu kde vubec beres drzost ptat se na radu a zaroven predem
> > odmitat nejlepsi odpoved jakou ti mnohem zkusenejsi borci mohou dat.
> 
> Drzost? Nerekl bych.
> Potrebuju != odmitat lepsi radu. Nikde nepisu ze se nenecham premluvit
> k lepsimu reseni a nechci si nechat poradit.
> 
> Prinos tve odpovedi k reseni anebo nedejboze nejake jine reseni ... 0%.
> Mel by ses proste nektere veci naucit prejit s klidem.
> 
> > _______________________________________________
> > Python mailing list
> > Python@py.cz
> > http://www.py.cz/mailman/listinfo/python
> 
> _______________________________________________
> Python mailing list
> Python@py.cz
> http://www.py.cz/mailman/listinfo/python
_______________________________________________
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Odpovedet emailem