This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author gvanrossum
Recipients Arfrever, chortos, gvanrossum, petri.lehtinen, python-dev, r.david.murray, serhiy.storchaka, terry.reedy, vstinner
Date 2013-09-21.22:44:25
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1379803465.23.0.824301901086.issue12085@psf.upfronthosting.co.za>
In-reply-to
Content
FWIW, using class attributes to ensure __del__ does not hit AttributeError when __init__ failed is more idiomatic than using three-argument getattr().

The reason: in general it is possible that __del__ calls almost any other method on a class (e.g. for a buffered I.O stream open for writing, __del__ might call close() which might attempt to flush the buffer).  It is not reasonable (and ugly :-) to use three-argument in all code that might be called by __del__.  But it is reasonable to use class attributes to pre-initialize instance variables set by __init__ to "safe" defaults like None.
History
Date User Action Args
2013-09-21 22:44:25gvanrossumsetrecipients: + gvanrossum, terry.reedy, vstinner, Arfrever, r.david.murray, chortos, python-dev, petri.lehtinen, serhiy.storchaka
2013-09-21 22:44:25gvanrossumsetmessageid: <1379803465.23.0.824301901086.issue12085@psf.upfronthosting.co.za>
2013-09-21 22:44:25gvanrossumlinkissue12085 messages
2013-09-21 22:44:25gvanrossumcreate