#4986: augassigns are not expressions.

This commit is contained in:
Georg Brandl 2009-01-18 18:25:30 +00:00
parent af9a97b245
commit fe11f4d524
1 changed files with 3 additions and 3 deletions

View File

@ -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``.