__delitem__ "feature"

Steven D'Aprano steve+comp.lang.python at pearwood.info
Sun Dec 26 23:50:03 EST 2010


On Sun, 26 Dec 2010 18:49:55 +0000, kj wrote:

> In <mailman.302.1293387041.6505.python-list at python.org> Ian Kelly
> <ian.g.kelly at gmail.com> writes:
> 
>>On 12/26/2010 10:53 AM, kj wrote:
>>> P.S. If you uncomment the commented-out line, and comment out the last
>>> line of the __init__ method (which installs self._delitem as
>>> self.__delitem__) then *all* the deletion attempts invoke the
>>> __delitem__ method, and are therefore blocked.  FWIW.
> 
>>Because subclasses of builtins only check the class __dict__ for special
>>method overrides, not the instance __dict__.
> 
> 
> How do you know this?  Is this documented?  Or is this a case of
> Monday-night quarterbacking?

We know it because it explains the observable facts.

It also happens to be documented, but documentation can be wrong or 
incomplete. The facts are never wrong, since by definition they are the 
facts.



-- 
Steven



More information about the Python-list mailing list