[python] Dynamické vytvoření instance

ViNiL vinil na zagamma.cz
Středa Březen 2 20:06:31 CET 2005


Dne st 2. března 2005 19:02 cb115118 na tiscali.cz napsal(a):
> Jsem začátečník, snažil jsem se vytvořit funkci, která by dynamicky
> vytvářela instance třídy :(
>
> class trida:
>     pass;
>
> def new_objekt(x):
>     exec "obj"+str(x)+"= trida"
>     exec "global obj"+str(x)
> new_objekt(1)
> print obj1
>
> Traceback (most recent call last):
>   File "C:/narozeniny/j.py", line 14, in ?
>     print obj1
> NameError: name 'obj1' is not defined

Uff, uff -- jak rikame ja a Vinnetou ;-)

Spravna odpoved na otazku jak zastavit krvaceni pri urezavani ruky neni navod, 
ale vyzva "ruku nerezat!" ;-)

Doporucoval bych:
a) bud pouzit parametr jako index (napr. do dictionary) -- tim myslim napr.:
	obj = {}
	obj[1] = cokoliv
b) nebo resit cely nazev objektu pomoci retezce a adresovat jej pomoci getattr



-- 

ViNiL, ultimativní opravář komínů



Další informace o konferenci Python