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