[Python-Dev] redefining is (original) (raw)
Andrew Koenig ark-mlist at att.net
Fri Mar 19 17:09:50 EST 2004
- Previous message: [Python-Dev] redefining is
- Next message: [Python-Dev] redefining is
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
>It certainly doesn't require a builtin operator. I do think, however, >that the proposed comparison is more useful than "is" in most contexts in >which programmers use "is" today. In particular, programs that use "is" >caneasily contain bugs that testing on a particular implementation can >never reveal, and using the proposed comparison instead makes such bugs much less likely (and perhaps even impossible).
maybe, OTOH I suspect that people most puzzled by
>>> a = 1 >>> b = 1 >>> a is b True >>> a = 99 >>> b = 99 >>> a is b True >>> a = 101 >>> b = 101 >>> a is b False
really simply expect there to be just one 1 and 99 and 101, not an half-a-page definition of 'is' or some such involving the notion of (im)mutability.
I think we are agreeing with each other. Because if "is" were redefined in the way that was proposed, we would have the following behavior on every implementation:
>>> a = 1
>>> b = 1
>>> a is b
True
>>> a = 99
>>> b = 99
>>> a is b
True
>>> a = 101
>>> b = 101
>>> a is b
True
regardless of whether id(a)==id(b).
- Previous message: [Python-Dev] redefining is
- Next message: [Python-Dev] redefining is
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]