mirror of
https://github.com/python/cpython.git
synced 2025-09-28 11:15:17 +00:00
[3.12] gh-111944: Add assignment expression parentheses requirements (GH-111977) (#112010)
Augment the list of places where parentheses are
required around assignnment statements. In particular,
'a := 0' and 'a = b := 1' are syntax errors.
(cherry picked from commit 9a2f25d374
)
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
This commit is contained in:
parent
378a96e361
commit
3b7e308a24
1 changed files with 5 additions and 4 deletions
|
@ -1774,10 +1774,11 @@ 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.
|
||||
Assignment expressions must be surrounded by parentheses when
|
||||
used as expression statements and when used as sub-expressions in
|
||||
slicing, conditional, lambda,
|
||||
keyword-argument, and comprehension-if expressions and
|
||||
in ``assert``, ``with``, and ``assignment`` statements.
|
||||
In all other places where they can be used, parentheses are not required,
|
||||
including in ``if`` and ``while`` statements.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue