]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-86482: Document assignment expression need for ()s (#23291)
authorTerry Jan Reedy <tjreedy@udel.edu>
Thu, 6 Oct 2022 19:24:17 +0000 (15:24 -0400)
committerGitHub <noreply@github.com>
Thu, 6 Oct 2022 19:24:17 +0000 (12:24 -0700)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Doc/reference/expressions.rst
Misc/NEWS.d/next/Core and Builtins/2020-11-15-02-08-43.bpo-42316.LqdkWK.rst [new file with mode: 0644]

index a6ca55dafe536520510847059944e9de30709d59..a661e03b173498310b19d23f7f40d069bb4befd4 100644 (file)
@@ -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 (file)
index 0000000..ea99780
--- /dev/null
@@ -0,0 +1 @@
+Document some places where an assignment expression needs parentheses.