functions, list, default parameters
Terry Reedy
tjreedy at udel.edu
Tue Nov 2 13:16:27 EDT 2010
On 11/2/2010 3:12 AM, Lawrence D'Oliveiro wrote:
>> "Immutable objects" are just those without an obvious API for modifying
>> them.
After initial creation ;-)/
> They are ones with NO legal language constructs for modifying them.
Suppose I write an nasty C extension that mutates tuples. What then
would be illegal about
import tuple_mutator
t = (1,2)
tuple_mutator.inc(t)
t
# (2,3)
> Hint: if
> a selector of some part of such an object were to occur on the LHS of an
> assignment, and that would raise an error, then the object is immutable.
I am not sure what you are saying here, and how it applies to
>>> lt = [(0,)]
>>> lt[0][0] = 1
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
lt[0][0] = 1
TypeError: 'tuple' object does not support item assignment
>>> tl = ([0],)
>>> tl[0][0] = 1
>>> tl
([1],)
--
Terry Jan Reedy
More information about the Python-list
mailing list