[Python-Dev] class dict of subtyped types

Guido van Rossum guido@python.org
Mon, 29 Oct 2001 15:04:12 -0500


> C:\>python
> Python 2.2b1+ (#25, Oct 19 2001, 14:30:05) [MSC 32 bit (Intel)] on win32
> Type "help", "copyright", "credits" or "license" for more information.
> >>> class INT(int): pass
> ...
> >>> INT.__dict__
> <dict-proxy object at 0x00769680>
> >>> INT.__dict__.update
> Traceback (most recent call last):
>   File "<stdin>", line 1, in ?
> AttributeError: 'dict-proxy' object has no attribute 'update'
> >>> dir(INT.__dict__)
> ['__class__', '__contains__', '__delattr__', '__getattribute__', '__getitem__', '__hash__'
> , '__init__', '__iter__', '__len__', '__new__', '__reduce__', '__repr__', '__setattr__', '
> __str__', 'copy', 'get', 'has_key', 'items', 'keys', 'values']
> >>>
> 
> Other dict attributes are missing as well in the dict-proxy.
> Is this intentional?

The dict-proxy type is intended to provide a read-only proxy, so the
dict-proxy is consciously lacking the update, clear, popitem and
setdefault methods.  It also seems to be missing the comparison
operations; that's an oversight.

--Guido van Rossum (home page: http://www.python.org/~guido/)