Commit 60794925 authored by R David Murray's avatar R David Murray

#26829: Clarify that namespace is copied to a new __dict__ in instance creation.

Patch by Emily Morehouse.
parent 5b65ef93
...@@ -1449,8 +1449,9 @@ are always available. They are listed here in alphabetical order. ...@@ -1449,8 +1449,9 @@ are always available. They are listed here in alphabetical order.
class name and becomes the :attr:`~class.__name__` attribute; the *bases* class name and becomes the :attr:`~class.__name__` attribute; the *bases*
tuple itemizes the base classes and becomes the :attr:`~class.__bases__` tuple itemizes the base classes and becomes the :attr:`~class.__bases__`
attribute; and the *dict* dictionary is the namespace containing definitions attribute; and the *dict* dictionary is the namespace containing definitions
for class body and becomes the :attr:`~object.__dict__` attribute. For for class body and is copied to a standard dictionary to become the
example, the following two statements create identical :class:`type` objects: :attr:`~object.__dict__` attribute. For example, the following two
statements create identical :class:`type` objects:
>>> class X: >>> class X:
... a = 1 ... a = 1
......
...@@ -1734,6 +1734,11 @@ After the class object is created, it is passed to the class decorators ...@@ -1734,6 +1734,11 @@ After the class object is created, it is passed to the class decorators
included in the class definition (if any) and the resulting object is bound included in the class definition (if any) and the resulting object is bound
in the local namespace as the defined class. in the local namespace as the defined class.
When a new class is created by ``type.__new__``, the object provided as the
namespace parameter is copied to a standard Python dictionary and the original
object is discarded. The new copy becomes the :attr:`~object.__dict__` attribute
of the class object.
.. seealso:: .. seealso::
:pep:`3135` - New super :pep:`3135` - New super
......
...@@ -999,6 +999,7 @@ Peter Moody ...@@ -999,6 +999,7 @@ Peter Moody
Paul Moore Paul Moore
Ross Moore Ross Moore
Ben Morgan Ben Morgan
Emily Morehouse
Derek Morr Derek Morr
James A Morrison James A Morrison
Martin Morrison Martin Morrison
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment