diff -r b6ee02acaae9 Doc/reference/datamodel.rst --- a/Doc/reference/datamodel.rst Wed Nov 26 21:17:53 2014 -0800 +++ b/Doc/reference/datamodel.rst Wed Jan 14 21:19:55 2015 -0800 @@ -1663,21 +1663,23 @@ that criterion, then the class definitio .. _prepare: Preparing the class namespace ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Once the appropriate metaclass has been identified, then the class namespace is prepared. If the metaclass has a ``__prepare__`` attribute, it is called as ``namespace = metaclass.__prepare__(name, bases, **kwds)`` (where the -additional keyword arguments, if any, come from the class definition). +additional keyword arguments, if any, come from the class definition). The +namespace returned by ``__prepare__`` is passed in to ``__new__``, but when +the final class object is created the namespace is copied into a new ``dict``. If the metaclass has no ``__prepare__`` attribute, then the class namespace is initialised as an empty :func:`dict` instance. .. seealso:: :pep:`3115` - Metaclasses in Python 3000 Introduced the ``__prepare__`` namespace hook