Prev: Python daemonisation with python-daemon
Next: External Hashing [was Re: matching strings in a large set of strings]
From: Terry Reedy on 3 May 2010 13:15
On 5/3/2010 12:37 AM, Alf P. Steinbach wrote:
> * Terry Reedy:
>> * Alf P. Steinbach:
>>> * Aahz:
>>>> and sometimes
>>>> they rebind the original target to the same object.
>>> At the Python level that seems to be an undetectable null-operation.
>> If you try t=(1,2,3); t+=3, if very much matters that a rebind occurs.
> <test lang="py3">
> >>> t = (, , )
> >>> t
> (, , )
> >>> t += ["blah"]
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> TypeError: 'tuple' object does not support item assignment
> >>> t
> (['blah'], , )
> >>> _
> Yep, it matters.
So one should instead write t.extend('blah') to the same effect, but
without the exception raising assignment attempt, when that is what one
really means ;-).
Terry Jan Reedy