On Sat, 9 Sep 2017 10:34 am, Gregory Ewing wrote: > Steve D'Aprano wrote: >> The paradox of the axe is one illustration of the difficulty in defining "the >> same" in full generality. > > The axe situation doesn't arise in Python, because "same > object" in Python is a concept that only applies to objects > existing at the same time.
Indeed. That's why in an earlier post I mentioned that it wasn't relevant to the question of `is`. I only mentioned it again because Rustom claimed to not understand why I mentioned it. I mentioned it because I was *agreeing with him* about the notion of sameness being hard to define vigorously in FULL GENERALITY. Which is irrelevant to the question of "same object". Either the paradoxes of "sameness" don't apply to Python objects, in which the paradoxes don't matter, or they apply to everything, in which case we're stuck with them and shouldn't let them prevent us using the common sense meaning of "same object" when discussing Python `is`. > There's no way to even ask a question like "does a refer > to the same object that b did a second ago", because > the only way to test object identity is to use the > 'is' operator, which takes two expressions evaluated > at the same time. I wouldn't quite go that far. We could, for example, record the ID, type, and some representation of the object (repr? str?), and compare them to those of the existing object. If any of them differ, then we know they aren't (weren't?) the same object. If all three are the same, we cannot draw any conclusions. "Is this list I have now identical to the tuple I had five minutes ago?" "Obviously not, because lists aren't tuples." But apart from tricks like that, I agree: objects that existed in the past but no longer exist don't have a meaningful identity in Python. -- Steve “Cheer up,” they said, “things could be worse.” So I cheered up, and sure enough, things got worse. -- https://mail.python.org/mailman/listinfo/python-list