Two quotes from The Python 3.11.0 Language Reference (emphasize is mine):
Note: If the object is a class instance and the attribute reference occurs on both sides of the assignment operator
Delimiters: The second half of the list, the augmented assignment operators, serve lexically as delimiters, but also perform an operation
As explained at the expression entry term in the glossary, an operator is a syntatical element involved in an expression. An expression has a value. The piece of syntax (a = expr) is not an expression because it cannot be evaluated. And as explained at the same entry, assignment are also statement, not expression.
In the same way there is no del/return operator, it is not correct to invoke an assignment operator, the correct wording being "assignment statement" as used in many places in The Python Language Reference Manual. The only "assignment operator" we can figure out is the walrus operator because (a := expr) has a value.
For consistency, we can observe that assignment symbols (=, +=, etc), contrary to the walrus symbol, are not listed in:
Pascal-Ortiz commentedOct 28, 2022
•
edited
Two quotes from The Python 3.11.0 Language Reference (emphasize is mine):
As explained at the expression entry term in the glossary, an operator is a syntatical element involved in an expression. An expression has a value. The piece of syntax
(a = expr)
is not an expression because it cannot be evaluated. And as explained at the same entry, assignment are also statement, not expression.In the same way there is no
del
/return
operator, it is not correct to invoke an assignment operator, the correct wording being "assignment statement" as used in many places in The Python Language Reference Manual. The only "assignment operator" we can figure out is the walrus operator because(a := expr)
has a value.For consistency, we can observe that assignment symbols (
=
,+=
, etc), contrary to the walrus symbol, are not listed in:Thomas Wouters explains in a SO comment :
Related reference of interest: = is not an operator
EDIT:
Tasks
The text was updated successfully, but these errors were encountered: