Behavior of += (was Re: [Python-Dev] Customization docs)
donn at drizzle.com
Wed Jun 5 08:04:34 CEST 2002
Quoth huaiyu at gauss.almadan.ibm.com (Huaiyu Zhu):
| That is one proposal. My proposal is to disallow += for immutables.
| Another symbol would be used for rebinding operations. (Or maybe swap the
| role of these symbols.) Thus for mutables both operations would be
That suits me, except the mutable/immutable distinction. That's
how we have been describing the distinction, but it's worth noting
that it isn't really what we mean.
For a silly example, suppose that in 2.3, None supports +=, kind of
like the UNIX /dev/null. This would not make it mutable in any
reasonable sense of the word, but it's in the "in place" category.
A class instance that implements __iadd__ to return something other
than self, would not be, though it's certainly mutable.
Donn Cave, donn at drizzle.com
More information about the Python-list