copy on write

Grant Edwards invalid at invalid.invalid
Fri Jan 13 10:13:33 EST 2012

On 2012-01-13, Devin Jeanpierre <jeanpierreda at> wrote:
> On Fri, Jan 13, 2012 at 7:30 AM, Chris Angelico <rosuav at> wrote:
>> It seems there's a distinct difference between a+=b (in-place
>> addition/concatenation) and a=a+b (always rebinding), which is sorely
>> confusing to C programmers. But then, there's a lot about Python
>> that's sorely confusing to C programmers.
> I think this is confusing to just about everyone, when they first
> encounter it.

That depends on what languages they've used in the past and whether
they skip reading any documentation and just assume that all languages
work the same way.

I would agree that for the majority of new users, they previously used
only languages where an assignment operator does a "copy value", and
that 90+ percent of the time those new users they assume all languages
work that way.

I'm not sure what we can do about that -- Python's semantics are well

Grant Edwards               grant.b.edwards        Yow! If our behavior is
                                  at               strict, we do not need fun!

More information about the Python-list mailing list