From: Georg Brandl Date: Sun, 18 Jan 2009 18:25:30 +0000 (+0000) Subject: #4986: augassigns are not expressions. X-Git-Tag: v2.7a1~2260 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fe11f4d524bb08b81a145d19ee023131c80b08e8;p=thirdparty%2FPython%2Fcpython.git #4986: augassigns are not expressions. --- diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst index 01fde3efba1a..dbcc9a1c90f8 100644 --- a/Doc/reference/datamodel.rst +++ b/Doc/reference/datamodel.rst @@ -2084,13 +2084,13 @@ left undefined. object.__ixor__(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 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 - operation falls back to the normal methods. For instance, to evaluate the - expression ``x += y``, where *x* is an instance of a class that has an + assignment falls back to the normal methods. For instance, to execute the + 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 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``.