Doc updates for PEPs 520 and 468.

This commit is contained in:
Eric Snow 2016-09-09 11:22:14 -07:00
parent 6982a4f8f0
commit 68f4dd8b01
2 changed files with 22 additions and 12 deletions

View File

@ -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.
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.
namespace parameter is copied to a new ordered mapping and the original
object is discarded. The new copy is wrapped in a read-only proxy, which
becomes the :attr:`~object.__dict__` attribute of the class object.
.. seealso::

View File

@ -116,7 +116,10 @@ Windows improvements:
:pep:`4XX` - Python Virtual Environments
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
============
@ -380,17 +383,10 @@ PEP 520: Preserving Class Attribute Definition Order
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
preserved in the new class's ``__definition_order__`` attribute. It is
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``.
preserved in the new class's ``__dict__`` attribute.
Also, the effective default class *execution* namespace (returned from
``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::
@ -398,6 +394,20 @@ class namespace, ``cls.__dict__``, is unchanged.
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
--------------------------------------