Does python hate cathy?

Gabriel Genellina gagsl-py2 at yahoo.com.ar
Tue Mar 25 01:49:01 EDT 2008


En Tue, 25 Mar 2008 02:09:58 -0300, Edward A. Falk <falk at green.rahul.net>  
escribió:

> However, Adding
>
> 	self.myclass = Person
>
> to the __init__() method didn't stop the problem.  I thought it might,  
> because
> then each of the objects would have held a reference to Person.   
> Actually, I would
> have thought they'd hold a reference by merely existing, so is this not  
> a bug?

Yes, they already have a reference (self.__class__). The problem is that  
__del__ references Person by *name*, and that name is reset to None (like  
all other module globals) as part of the interpreter shutdown sequence.
Using self.__class__ would avoid this particular bug, but in general, it's  
better not to rely on __del__ at all.

See http://bugs.python.org/issue1513802 and  
http://bugs.python.org/issue1717900

-- 
Gabriel Genellina




More information about the Python-list mailing list