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

This commit is contained in:
Shankar Jha 2020-07-26 05:03:48 +05:30 committed by GitHub
parent 0028c14073
commit f117cef25b
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: