S.R.Pardá
linux at qbox.es
Sun Jun 4 12:25:45 EDT 2006
Hi, I'm having an unexpected behavior in destructor calls. I have 1 class with class attributtes counting destructions and constructions. When I reload modules c.py (defining DEBUG as True) all works Ok. If I don't reload (DEBUG as False), destructor is called more times 3 times for 2 constructors calls. I don't understand why the different behavior. --- index.psp ---------------------------------------- <% DEBUG = False # or TRUE from c import C if DEBUG: reload C from f import F if DEBUG: reload F f = F() c = f.c req.write ('Constructed %s' % C.constcount) req.write (' Destructed %s' % C.destrcount) %> --- f.py -------------------------------------------- from c import C if DEBUG: reload C class F: def __init__(self): ... self.c = C() ... --- c.py --------------------------------------------- class C: constcount = 0 destrcount = 0 def __init__(self): ... constcount += 1 ... def __del__(self): ... destrcount -= 1 ... -------------------------------------------------------- Thank You S.R.Pardá
|