From: "Guido van Rossum" <guido@python.org> > > 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. > But adding attributes to the INT class above after creation is allowed, I hope? At least it currently works. Thomas
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4