In message <mailman.475.1288670833.2218.python-l...@python.org>, Robert Kern wrote:
> On 2010-11-01 22:31 , Lawrence D'Oliveiro wrote: > >> In message<8j1seqfa1...@mid.individual.net>, Gregory Ewing wrote: >> >>> Steven D'Aprano wrote: >>> >>>> And how does Python know whether some arbitrary default object is >>>> mutable or not? >>> >>> It doesn't, that's the whole point. >> >> Of course it knows. It is the one defining the concept in the first >> place, after all. > > No, the Python interpreter doesn't define the concept. The Python language > developers did. The Python language developers said “let there be light”, and the Python interpreter gave forth light. So which one defines the concept of “light”? > "Immutable objects" are just those without an obvious API for modifying > them. They are ones with NO legal language constructs for modifying them. 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. The interpreter already knows all this. > With various trickeries, I can mutate any immutable object. None within the Python language itself. Which is what we’re talking about here: a language construct which is probably one of the top 3 sources of grief to Python newbies. And not-so-newbies. -- http://mail.python.org/mailman/listinfo/python-list