I would like to propose that functionality be added to delattr to handle the case when the attribute does not exist.
First off, getattr handles this nicely with the default parameter: value = getattr(obj, 'foo', False) instead of: try: value = getattr(obj, 'foo') except AttributeError: value = False or: if hasattr(obj, 'foo'): value = getattr(obj, 'foo') else: value = False And I think it makes sense to have something similar for delattr (name the argument as you wish): delattr(obj, 'foo', allow_missing=True) instead of: try: delattr(obj, 'foo') except AttributeError: pass or: try: del obj.foo except AttributeError: pass or: if hasattr(obj, 'foo') delattr(obj, 'foo') For backwards compatibility, allow_missing would default to False. Gary -- http://mail.python.org/mailman/listinfo/python-list