On Aug 14, 4:31 pm, Wojtek Walczak <[EMAIL PROTECTED]> wrote: > On Thu, 14 Aug 2008 18:23:21 -0300, ariel ledesma wrote: > > i see now, so i guess that's also why id() returns the same address for > > them as well... > > It just have to work like this. > > a is b > > is actually equal to: > > id(a) == id(b) > > so there is no other way for id() in such case. > > Hope this helps. > > -- > Regards, > Wojtek Walczak,http://www.stud.umk.pl/~wojtekwa/
For a= 6 b= a the test a is b should clearly return true. Python distinguishes what mathematics does not, between identity and equality. Clearly 5+4 and 6+3 - evaluate- to the same, but math doesn't define whether they are the same, and in some sense the question isn't asked ordinarily, or isn't debated. I want to infer that math doesn't define the 'is' relation as Python knows it. I feel the documentation should state, 'the interpreter is free to return a -new- equivalent non-identical object in the case of immutables.' My tests: >>> a= -6 >>> a is -6 False >>> -6 is -6 True I don't know a convincing argument for the truth of Is( -6, -6 ). Perhaps you could make one, or one for the permissibility of Is( a, b ) & ~Equal( a, b )... identical non-equivalent. -- http://mail.python.org/mailman/listinfo/python-list