On Thu, Apr 26, 2012 at 3:10 AM, Steven D'Aprano <steve+comp.lang.pyt...@pearwood.info> wrote: > But I was actually referring to something more fundamental than that. The > statement "a is b" is a *direct* statement of identity. "John is my > father." "id(a) == id(b)" is *indirect*: "The only child of John's > grandfather is the parent of the mother-in-law of my sister-in-law" sort > of thing. (Excuse me if I got the relationships mixed up.)
I might have used a different example: 1) "John is my father." 2) "John has the same social security number as my father." The first is concise and clearly expresses the intended statement of identity. The second could be read to imply any number of things: "John is my father." "Somebody at the SSA messed up and gave John the same SSN as my father." "John is an identity thief." If the assertion I'm trying to express is that John is my father, then the direct statement #1 is the best way to convey that, at least in English. Likewise, "a is b" more clearly expresses the intended comparison than does "id(a) == id(b)". -- http://mail.python.org/mailman/listinfo/python-list