On Tue, 09 Oct 2007 22:43:16 +0000, Steven D'Aprano wrote:
> On Tue, 09 Oct 2007 19:46:35 +0000, Marc 'BlackJack' Rintsch wrote:
>
>> On Tue, 09 Oct 2007 18:08:34 +0000, Steven D'Aprano wrote:
>>
>>>>>> L = []
>>>>>> id(L)
>>> 3083496716L
>>>>>> L += [1]
>>>>>> id(L)
>>> 3083496716L
>>>
>>> It's the same L, not rebound at all.
>>
>> It *is* rebound. To the same object, but it *is* assigned to `L` and
>> not just mutated in place.
>
> Picky picky.
>
> Yes, technically there is an assignment of L to itself. I was sloppy to
> say "not rebound at all", because when you write an augmented assignment
> method you have to return self if you want to implement in-place
> mutation. But I hardly call "rebinding to itself" any sort of rebinding
> worth the name :)
Maybe picky but that detail was the source of the OPs confusion because it
introduced a new attribute on the subclass.
Ciao,
Marc 'BlackJack' Rintsch
--
http://mail.python.org/mailman/listinfo/python-list