From 2b5f1360ead9aa72ae00de59edfd6c229d13933f Mon Sep 17 00:00:00 2001 From: Terry Jan Reedy Date: Thu, 6 Oct 2022 15:24:17 -0400 Subject: gh-86482: Document assignment expression need for ()s (#23291) Co-authored-by: Jelle Zijlstra --- Doc/reference/expressions.rst | 7 +++++++ .../Core and Builtins/2020-11-15-02-08-43.bpo-42316.LqdkWK.rst | 1 + 2 files changed, 8 insertions(+) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2020-11-15-02-08-43.bpo-42316.LqdkWK.rst diff --git a/Doc/reference/expressions.rst b/Doc/reference/expressions.rst index a6ca55d..a661e03 100644 --- a/Doc/reference/expressions.rst +++ b/Doc/reference/expressions.rst @@ -1766,6 +1766,13 @@ Or, when processing a file stream in chunks: while chunk := file.read(9000): process(chunk) +Assignment expressions must be surrounded by parentheses when used +as sub-expressions in slicing, conditional, lambda, +keyword-argument, and comprehension-if expressions +and in ``assert`` and ``with`` statements. +In all other places where they can be used, parentheses are not required, +including in ``if`` and ``while`` statements. + .. versionadded:: 3.8 See :pep:`572` for more details about assignment expressions. diff --git a/Misc/NEWS.d/next/Core and Builtins/2020-11-15-02-08-43.bpo-42316.LqdkWK.rst b/Misc/NEWS.d/next/Core and Builtins/2020-11-15-02-08-43.bpo-42316.LqdkWK.rst new file mode 100644 index 0000000..ea99780 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2020-11-15-02-08-43.bpo-42316.LqdkWK.rst @@ -0,0 +1 @@ +Document some places where an assignment expression needs parentheses. -- cgit v0.12