On 7 June 2016 at 16:03, Raymond Hettinger <raymond.hettinger at gmail.com> wrote: > >> On Jun 7, 2016, at 10:51 AM, Eric Snow <ericsnowcurrently at gmail.com> wrote: >> >> This PEP changes the default class definition namespace to ``OrderedDict``. > > I think this would be a nice improvement. > >> Furthermore, the order in which the attributes are defined in each class >> body will now be preserved in ``type.__definition_order__``. This allows >> introspection of the original definition order, e.g. by class decorators. > > I'm unclear on why this would be needed. Wouldn't the OrderedDict be sufficient for preserving definition order? By the time decorators run, the original execution namespace is no longer available - the contents have been copied into the class dict, which will still be a plain dict (and there's a lot of code that calls PyDict_* APIs on tp_dict, so replacing the latter with a subclass is neither trivial nor particularly safe in the presence of extension modules). Cheers, Nick. -- Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
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