mirror of https://github.com/python/cpython
Add text about PEP 526 to What's new in 3.6. Ivan L.
This commit is contained in:
parent
032c0fb655
commit
a4d9b17b1f
|
@ -72,7 +72,7 @@ New syntax features:
|
||||||
|
|
||||||
* PEP 515: Underscores in Numeric Literals
|
* PEP 515: Underscores in Numeric Literals
|
||||||
|
|
||||||
* PEP 526: Syntax for Variable Annotations
|
* PEP 526: :ref:`Syntax for Variable Annotations <variable-annotations>`
|
||||||
|
|
||||||
* PEP 525: Asynchronous Generators
|
* PEP 525: Asynchronous Generators
|
||||||
|
|
||||||
|
@ -277,6 +277,42 @@ evaluated at run time, and then formatted using the :func:`format` protocol::
|
||||||
|
|
||||||
See :pep:`498` and the main documentation at :ref:`f-strings`.
|
See :pep:`498` and the main documentation at :ref:`f-strings`.
|
||||||
|
|
||||||
|
|
||||||
|
.. _variable-annotations:
|
||||||
|
|
||||||
|
PEP 526: Syntax for variable annotations
|
||||||
|
========================================
|
||||||
|
|
||||||
|
:pep:`484` introduced standard for type annotations of function parameters,
|
||||||
|
a.k.a. type hints. This PEP adds syntax to Python for annotating the
|
||||||
|
types of variables including class variables and instance variables::
|
||||||
|
|
||||||
|
primes: List[int] = []
|
||||||
|
|
||||||
|
captain: str # Note: no initial value!
|
||||||
|
|
||||||
|
class Starship:
|
||||||
|
stats: Dict[str, int] = {}
|
||||||
|
|
||||||
|
Just as for function annotations, the Python interpreter does not attach any
|
||||||
|
particular meaning to variable annotations and only stores them in a special
|
||||||
|
attribute ``__annotations__`` of a class or module.
|
||||||
|
In contrast to variable declarations in statically typed languages,
|
||||||
|
the goal of annotation syntax is to provide an easy way to specify structured
|
||||||
|
type metadata for third party tools and libraries via the abstract syntax tree
|
||||||
|
and the ``__annotations__`` attribute.
|
||||||
|
|
||||||
|
.. seealso::
|
||||||
|
|
||||||
|
:pep:`526` -- Syntax for variable annotations.
|
||||||
|
PEP written by Ryan Gonzalez, Philip House, Ivan Levkivskyi, Lisa Roach,
|
||||||
|
and Guido van Rossum. Implemented by Ivan Levkivskyi.
|
||||||
|
|
||||||
|
Tools that use or will use the new syntax:
|
||||||
|
`mypy <http://github.com/python/mypy>`_,
|
||||||
|
`pytype <http://github.com/google/pytype>`_, PyCharm, etc.
|
||||||
|
|
||||||
|
|
||||||
.. _pep-529:
|
.. _pep-529:
|
||||||
|
|
||||||
PEP 529: Change Windows filesystem encoding to UTF-8
|
PEP 529: Change Windows filesystem encoding to UTF-8
|
||||||
|
|
Loading…
Reference in New Issue