RE: [python] Pocet instancí objektu

Jan Matejka matejka na cat.cz
Středa Leden 25 20:38:36 CET 2006


Zkousel jsem to taky pres weakref abych se vyhnul __del__ ktery zneschopnuje
garbage colllection.  Funguje to pouze ke zjisteni, ze existuje alespon
jedna instance objektu.
Jako by weakref.getweakrefcount nevracela skutecny pocet referenci jak je v
dokumentaci ale pouze jestli nejaka je ci neni.


import weakref

class InstanceCounter:
    pass

class A:
    ic=InstanceCounter()
    def __init__(self):
        self.m_ic=weakref.ref(A.ic)

print weakref.getweakrefcount(A.ic)
o1=A()
print weakref.getweakrefcount(A.ic)
o2=A()
print weakref.getweakrefcount(A.ic)
del o1
print weakref.getweakrefcount(A.ic)
del o2
print weakref.getweakrefcount(A.ic)

vypise:
0
1
1
1
0

ale cekal bych
0
1
2
1
0


Jan Matejka




Další informace o konferenci Python