Message184188
(related to PEP 422 and issue #17044)
The execution namespace from a class definition is passed as the third argument to the metaclass (see builtin___build_class__() in Python/bltinmodule.c). When applicable, which is almost always, the subsequent call to type.__new__() copies that namespace into a new dict which is in turn exposed via the class's __dict__.
This matters in the case where a metaclass with __prepare__() gets used (or the PEP 422 equivalent). The language reference[1] should note that the object returned by __prepare__() is copied into a new dict when the class is finally created via the metaclass.
[1] http://docs.python.org/3.4/reference/datamodel.html#customizing-class-creation |
|
Date |
User |
Action |
Args |
2013-03-14 20:33:35 | eric.snow | set | recipients:
+ eric.snow, ncoghlan, docs@python |
2013-03-14 20:33:35 | eric.snow | set | messageid: <1363293215.19.0.289288553848.issue17422@psf.upfronthosting.co.za> |
2013-03-14 20:33:35 | eric.snow | link | issue17422 messages |
2013-03-14 20:33:34 | eric.snow | create | |
|