From 04e7e0c60fa1d7edea0a5e39285fd18bbcc4107b Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Tue, 25 Jun 2002 13:36:41 +0000 Subject: Close bug 417930 by clarifying augmented assignment docs --- Doc/ref/ref6.tex | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Doc/ref/ref6.tex b/Doc/ref/ref6.tex index 12261e2..80fae5a 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} -- cgit v0.12