assigning a custom mapping type to __dict__
Steven Bethard
steven.bethard at gmail.com
Wed Mar 2 09:18:42 EST 2005
More information about the Python-list mailing list
Wed Mar 2 09:18:42 EST 2005
- Previous message (by thread): assigning a custom mapping type to __dict__
- Next message (by thread): [Python-Dev] Re: python-dev Summary for 2005-01-16 through 2005-01-31
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Nick Coghlan wrote: > Steven Bethard wrote: > >> The problem with inheriting from dict is that you then need to >> override *all* the methods in the dict object, because they all go >> straight to Python's dict'c C code functions. So just because you >> redefine __getitem__ doesn't mean you don't still have to redefine >> __contains__, get, update, etc. UserDict.DictMixin can help with this >> some, but the ideal situation would be to only have to define the >> methods you actually support. Inheriting from dict likely means you >> have to redefine a bunch of functions to raise Exceptions saying that >> they're unsupported. > > > You're just lucky the affected class is already overriding > __getattribute__, so the __dict__ is generally getting accessed from > Python code :) > > If it weren't for that, object.c's direct calls to the PyDict_* API > would be making things even more fun for you than they already are (as > Duncan pointed out). Yup, I noticed that. Lucky us. =) STeVe
- Previous message (by thread): assigning a custom mapping type to __dict__
- Next message (by thread): [Python-Dev] Re: python-dev Summary for 2005-01-16 through 2005-01-31
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list