From: Raymond Hettinger Date: Tue, 25 Jun 2002 13:36:41 +0000 (+0000) Subject: Close bug 417930 by clarifying augmented assignment docs X-Git-Tag: v2.3c1~5226 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=04e7e0c60fa1d7edea0a5e39285fd18bbcc4107b;p=python Close bug 417930 by clarifying augmented assignment docs --- diff --git a/Doc/ref/ref6.tex b/Doc/ref/ref6.tex index 12261e2f7b..80fae5ab84 100644 --- a/Doc/ref/ref6.tex +++ b/Doc/ref/ref6.tex @@ -300,6 +300,20 @@ the same way as normal assignments. Similarly, with the exception of the possible \emph{in-place} behavior, the binary operation performed by augmented assignment is the same as the normal binary operations. +For targets which are attribute references, the initial value is +retrieved with a \method{getattr()} and the result is assigned with a +\method{setattr()}. Notice that the two methods do not necessarily +refer to the same variable. When \method{getattr()} refers to a class +variable, \method{setattr()} still writes to an instance variable. +For example: + +\begin{verbatim} +class A: + x = 3 # class variable +a = A() +a.x += 1 # writes a.x as 4 leaving A.x as 3 +\end{verbatim} + \section{The \keyword{pass} statement \label{pass}} \stindex{pass}