bpo-39868: Add documentation for Assignment Expressions (walrus, PEP 572) (GH-18851)

(cherry picked from commit f117cef25b)

Co-authored-by: Shankar Jha <shankarj67@gmail.com>
This commit is contained in:
Miss Islington (bot) 2020-07-25 16:41:20 -07:00 committed by GitHub
parent b99f770230
commit 755cb49429
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 19 additions and 2 deletions

View File

@ -1650,9 +1650,26 @@ Assignment expressions
.. productionlist::
assignment_expression: [`identifier` ":="] `expression`
.. TODO: BPO-39868
An assignment expression (sometimes also called a "named expression" or
"walrus") assigns an :token:`expression` to an :token:`identifier`, while also
returning the value of the :token:`expression`.
See :pep:`572` for more details about assignment expressions.
One common use case is when handling matched regular expressions:
.. code-block:: python
if matching := pattern.search(data):
do_something(matching)
Or, when processing a file stream in chunks:
.. code-block:: python
while chunk := file.read(9000):
process(chunk)
.. versionadded:: 3.8
See :pep:`572` for more details about assignment expressions.
.. _if_expr: