summaryrefslogtreecommitdiffstats
path: root/Doc/reference/compound_stmts.rst
diff options
context:
space:
mode:
authorPablo Galindo <Pablogsal@gmail.com>2021-04-21 11:41:19 (GMT)
committerGitHub <noreply@github.com>2021-04-21 11:41:19 (GMT)
commitb0544ba77cf86074fb1adde00558c67ca75eeea1 (patch)
tree5168d0dc8da1360feabecfbc7c721b3fa9a38b11 /Doc/reference/compound_stmts.rst
parentd35eef3b904b62e9c775bf3764ab0a0611f5a860 (diff)
downloadcpython-b0544ba77cf86074fb1adde00558c67ca75eeea1.zip
cpython-b0544ba77cf86074fb1adde00558c67ca75eeea1.tar.gz
cpython-b0544ba77cf86074fb1adde00558c67ca75eeea1.tar.bz2
bpo-38605: Revert making 'from __future__ import annotations' the default (GH-25490)
This reverts commits 044a1048ca93d466965afc027b91a5a9eb9ce23c and 1be456ae9d53bb1cba2b24fc86175c282d1c2169, adapting the code to changes that happened after it.
Diffstat (limited to 'Doc/reference/compound_stmts.rst')
-rw-r--r--Doc/reference/compound_stmts.rst10
1 files changed, 7 insertions, 3 deletions
diff --git a/Doc/reference/compound_stmts.rst b/Doc/reference/compound_stmts.rst
index 8e68081..96bd9b0 100644
--- a/Doc/reference/compound_stmts.rst
+++ b/Doc/reference/compound_stmts.rst
@@ -1244,9 +1244,13 @@ following the parameter name. Any parameter may have an annotation, even those
``*identifier`` or ``**identifier``. Functions may have "return" annotation of
the form "``-> expression``" after the parameter list. These annotations can be
any valid Python expression. The presence of annotations does not change the
-semantics of a function. The annotation values are available as string values
-in a dictionary keyed by the parameters' names in the :attr:`__annotations__`
-attribute of the function object.
+semantics of a function. The annotation values are available as values of
+a dictionary keyed by the parameters' names in the :attr:`__annotations__`
+attribute of the function object. If the ``annotations`` import from
+:mod:`__future__` is used, annotations are preserved as strings at runtime which
+enables postponed evaluation. Otherwise, they are evaluated when the function
+definition is executed. In this case annotations may be evaluated in
+a different order than they appear in the source code.
.. index:: pair: lambda; expression