[Python-Dev] Re: optimizing non-local object access
Guido van Rossum
guido@python.org
Thu, 09 Aug 2001 18:03:59 -0400
[Jeremy]
> It would because __dict__ wouldn't be a dictionary; it would be a
> dlict (dictionary-list hybrid). This is the one compatibility issue
> that has come up. Code that expects module's to have a real
> dictionary will break -- both in Python where it is probably quite
> rare and at the C level where some API calls require real dicts. The
> __dict__ object will implement the mapping protocol. It just won't be
> a dict.
In 2.2, if you don't use __getitem__ for access-by-number, you could
subclass dictionary and add a separate set of APIs to access the
variables by number (and to assign numbers to them in the first
place). Then it would still behave like a real dictionary enough to
be usable for the PyDict_* C API functions.
--Guido van Rossum (home page: http://www.python.org/~guido/)