[pyar] Llevar un registro de las instancias de una clase

Luis I. Facciolo lifacciolo en gmail.com
Mar Feb 1 20:25:28 ART 2011


Algo asi podrias armar, mira:

>>> class Test:
...   reg = {}
...   def __init__(self):
...       Test.reg[self] = self
...   def kill(self):
...       Test.reg.pop(self)
...
>>> a = Test()
>>> a.reg
{<__main__.Test instance at 0x027E7968>: <__main__.Test instance at
0x027E7968>}
>>> b = Test()
>>> a.reg
{<__main__.Test instance at 0x027E7968>: <__main__.Test instance at
0x027E7968>, <__main__.Test instance at 0x027E78C8>: <__main__.Test instance
at 0x027E78C8>}
>>> b.reg
{<__main__.Test instance at 0x027E7968>: <__main__.Test instance at
0x027E7968>, <__main__.Test instance at 0x027E78C8>: <__main__.Test instance
at 0x027E78C8>}
>>> b.kill()
>>> del b
>>> a.reg
{<__main__.Test instance at 0x027E7968>: <__main__.Test instance at
0x027E7968>}
>>> z = Test()
>>> z.reg
{<__main__.Test instance at 0x027E7968>: <__main__.Test instance at
0x027E7968>, <__main__.Test instance at 0x027E7918>: <__main__.Test instance
at 0x027E7918>}
>>> a.reg

Puse el kill así porque fue lo mas rápido que se me ocurrió para sacar la
referencia del diccionario, porque si no el garbage collector no lo va a
agarrar nunca.
[image: algo]
Luis I. Facciolo
Arquitectura - ING. de operaciones | Tecnología
Tel (+5411) 5295-3948
Cel (+54911) 3646-2931
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20110201/dfcd2278/attachment.html>


More information about the pyar mailing list