Commit fe11f4d5 authored by Georg Brandl's avatar Georg Brandl

#4986: augassigns are not expressions.

parent af9a97b2
...@@ -2084,13 +2084,13 @@ left undefined. ...@@ -2084,13 +2084,13 @@ left undefined.
object.__ixor__(self, other) object.__ixor__(self, other)
object.__ior__(self, other) object.__ior__(self, other)
These methods are called to implement the augmented arithmetic operations These methods are called to implement the augmented arithmetic assignments
(``+=``, ``-=``, ``*=``, ``/=``, ``//=``, ``%=``, ``**=``, ``<<=``, ``>>=``, (``+=``, ``-=``, ``*=``, ``/=``, ``//=``, ``%=``, ``**=``, ``<<=``, ``>>=``,
``&=``, ``^=``, ``|=``). These methods should attempt to do the operation ``&=``, ``^=``, ``|=``). These methods should attempt to do the operation
in-place (modifying *self*) and return the result (which could be, but does in-place (modifying *self*) and return the result (which could be, but does
not have to be, *self*). If a specific method is not defined, the augmented not have to be, *self*). If a specific method is not defined, the augmented
operation falls back to the normal methods. For instance, to evaluate the assignment falls back to the normal methods. For instance, to execute the
expression ``x += y``, where *x* is an instance of a class that has an statement ``x += y``, where *x* is an instance of a class that has an
:meth:`__iadd__` method, ``x.__iadd__(y)`` is called. If *x* is an instance :meth:`__iadd__` method, ``x.__iadd__(y)`` is called. If *x* is an instance
of a class that does not define a :meth:`__iadd__` method, ``x.__add__(y)`` of a class that does not define a :meth:`__iadd__` method, ``x.__add__(y)``
and ``y.__radd__(x)`` are considered, as with the evaluation of ``x + y``. and ``y.__radd__(x)`` are considered, as with the evaluation of ``x + y``.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment