Op 2006-01-14, Steven D'Aprano schreef <[EMAIL PROTECTED]>: > On Sat, 14 Jan 2006 14:14:01 +0000, Antoon Pardon wrote: > >> On 2006-01-14, Steven D'Aprano <[EMAIL PROTECTED]> wrote: >>> On Thu, 12 Jan 2006 16:11:53 -0800, rurpy wrote: >>> >>>> It would help if you or someone would answer these >>>> five questions (with something more than "yes" or "no" :-) >>>> >>>> 1. Do all objects have values? >>> >>> All objects ARE values. Some values themselves are complex objects >>> which in turn contain other values, e.g. if I execute: >> >> I don't agree with this wording. If a mutable object mutates it >> is still the same object but is's value has changed. > > Yes. And this is a problem why?
It is not about problems, it is about precision of language. You can't state that an object *is* a value if different values can be associated with the same object. > Some values are fixed, and some values are > changeable. No values are not changeable. Objects (through mutation) aquiring a new value is not the same as changable values. >> So I would agree with: objects have values. > > I don't believe this is a useful distinction to make. > >>> L = [None, 1, "hello"] >>> >>> I have created a name 'L' which is bound to ("has the value of") a list >>> with three items. The first item has the value of ("is the object") None, >>> the second has the value of ("is the object") 1, and the third is the >>> string "hello". >> >> But if you execute L.append(False) then L is still the same object >> but it's value is different. > > Yes. Values can change. So what? No values don't change. Objects can mutate and thus can aquire a new value. Yes we often use language that states: The value changes, but that is just a shortcut, just as we speak of hearing a train instead of hearing the sound of a train. If you say an object is a value, that would imply that two lists with the same value would also be the same list. -- Antoon Pardon -- http://mail.python.org/mailman/listinfo/python-list