Commit 68f4dd8b authored by Eric Snow's avatar Eric Snow

Doc updates for PEPs 520 and 468.

parent 6982a4f8
...@@ -1801,9 +1801,9 @@ included in the class definition (if any) and the resulting object is bound ...@@ -1801,9 +1801,9 @@ 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 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 namespace parameter is copied to a new ordered mapping and the original
object is discarded. The new copy becomes the :attr:`~object.__dict__` attribute object is discarded. The new copy is wrapped in a read-only proxy, which
of the class object. becomes the :attr:`~object.__dict__` attribute of the class object.
.. seealso:: .. seealso::
......
...@@ -116,7 +116,10 @@ Windows improvements: ...@@ -116,7 +116,10 @@ Windows improvements:
:pep:`4XX` - Python Virtual Environments :pep:`4XX` - Python Virtual Environments
PEP written by Carl Meyer PEP written by Carl Meyer
.. XXX PEP 520: :ref:`Preserving Class Attribute Definition Order<whatsnew-deforder>` * PEP 520: :ref:`Preserving Class Attribute Definition Order<whatsnew-deforder>`
* PEP 468: :ref:`Preserving Keyword Argument Order<whatsnew-kwargs>`
New Features New Features
============ ============
...@@ -380,17 +383,10 @@ PEP 520: Preserving Class Attribute Definition Order ...@@ -380,17 +383,10 @@ PEP 520: Preserving Class Attribute Definition Order
Attributes in a class definition body have a natural ordering: the same Attributes in a class definition body have a natural ordering: the same
order in which the names appear in the source. This order is now order in which the names appear in the source. This order is now
preserved in the new class's ``__definition_order__`` attribute. It is preserved in the new class's ``__dict__`` attribute.
a tuple of the attribute names, in the order in which they appear in
the class definition body.
For types that don't have a definition (e.g. builtins), or the attribute
order could not be determined, ``__definition_order__`` is ``None``.
Also, the effective default class *execution* namespace (returned from Also, the effective default class *execution* namespace (returned from
``type.__prepare__()``) is now an insertion-order-preserving mapping. ``type.__prepare__()``) is now an insertion-order-preserving mapping.
For CPython, it is now ``collections.OrderedDict``. Note that the
class namespace, ``cls.__dict__``, is unchanged.
.. seealso:: .. seealso::
...@@ -398,6 +394,20 @@ class namespace, ``cls.__dict__``, is unchanged. ...@@ -398,6 +394,20 @@ class namespace, ``cls.__dict__``, is unchanged.
PEP written and implemented by Eric Snow. PEP written and implemented by Eric Snow.
.. _whatsnew-kwargs:
PEP 468: Preserving Keyword Argument Order
==========================================
``**kwargs`` in a function signature is now guaranteed to be an
insertion-order-preserving mapping.
.. seealso::
:pep:`468` - Preserving Keyword Argument Order
PEP written and implemented by Eric Snow.
PEP 509: Add a private version to dict PEP 509: Add a private version to dict
-------------------------------------- --------------------------------------
......
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