Ten slovník tam mám, já to umím zachytit, ale neumim udělat to, aby se ta
instance nevytvořila přes init,
šlo by udělat
z1= Zvire.pridejZvire('hroch') #a ta metoda bz se podivala do slovniku a buď
hotovýho hrocha vrátila, nebo udělala fungl novýho
ale to já nechci, já to chci dělat
z1 = Zvire('hroch')
kdybych to narval do nový tridy tak si stejne nepomuzu, udela se tak jako tak
nova instance.
_____
From: [email protected] [mailto:[email protected]] On Behalf Of Juda
Kaleta
Sent: Thursday, July 22, 2010 2:59 PM
To: Konference PyCZ
Subject: Re: [python] Třída, která vytvoří instanci jen pokud tam už není
instance se stejnými parametry
Vhodné by bylo mít na vytváření těchto objektů nějakou továrničku - ta by
obsahovala slovník s již vytvořeními instancemi ({'pes':..., 'hroch':...}). Při
volání metody k vytvoření nového objektu by se kouklo do slovníku, pokud by tam
již objekt s tímto klíčem byl, vrátil by se ten, pokud ne, vytvořil by se nový
objekt.
Juda Kaleta
E-mail: [email protected]
Jabber: [email protected]
Dne 22.7.2010 14:50, MICHÁLEK Jan Mgr. napsal(a):
Otázka:
je možné napsat třídu tak, aby vytvořila instanci, jen pokud ještě instance
se stejnými parametry ještě neexistuje.
Např:
mám třídu zvíře a chtěl bych, aby se chovala následujícím způsobem
>>> z1 = zvire('hroch')
>>> z1
<__main__.zvire instance at 0x017C1EE0>
>>>
>>> z2 = zvire('pes')
>>> z2
<__main__.zvire instance at 0x017C1760>
>>>
>>> z3 = zvire('hroch')
>>> z3
<__main__.zvire instance at 0x017C1EE0>
>>>
Jde to nějak rozumně (a pochopitelně) udělat??
Je.
Mgr Jan Michálek
oddělení GIS
útvar ISaT
ÚHÚL Brandýs nad Labem
tel.: +420 322 319 886
email: mailto:[email protected]
url: http://www.uhul.cz/
__________ Informace od ESET NOD32 Antivirus, verze databaze 5300 (20100722)
__________
Tuto zpravu proveril ESET NOD32 Antivirus.
http://www.eset.cz
_______________________________________________
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python
__________ Informace od ESET NOD32 Antivirus, verze databaze 5300 (20100722)
__________
Tuto zpravu proveril ESET NOD32 Antivirus.
http://www.eset.cz
__________ Informace od ESET NOD32 Antivirus, verze databaze 5300 (20100722)
__________
Tuto zpravu proveril ESET NOD32 Antivirus.
http://www.eset.cz
_______________________________________________
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python