Antoon Pardon wrote:
>>Since ints are immutable objects, you shouldn't expect the value of b.a
>>to be modified in place, and so there is an assignment to b.a, not A.a.
> 
> 
> You are now talking implementation details. I don't care about whatever
> explanation you give in terms of implementation details. I don't think
> it is sane that in a language multiple occurence of something like b.a
> in the same line can refer to different objects
> 

This isn't an implementation detail; to leading order, anything that 
impacts the values of objects attached to names is a specification issue.

An implementation detail is something like when garbage collection 
actually happens; what happens to:

b.a += 2

is very much within the language specification.  Indeed, the language 
specification dictates that an instance variable b.a is created if one 
didn't exist before; this is true no matter if type(b.a) == int, or if 
b.a is some esoteric mutable object that just happens to define 
__iadd__(self,type(other) == int).
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to