Result of ``a is b''

Carl Banks imbosol at aerojockey.invalid
Tue Mar 16 21:42:47 EST 2004


Andrew Koenig wrote:
> 
> 
> "Axel Boldt" <axelboldt at yahoo.com> wrote in message
> news:40200384.0403161255.7fca7a8c at posting.google.com...
> 
>> Wow. So it seems that the action of "is" on immutables is unspecified
>> and implementation dependent, thus useless to the programmer.
> 
> Hardly.  It has two fundamental properties, which can sometimes be useful:
> 
>    1) If x and y refer to the same object, "x is y" yields True.
> 
>    2) If "x is y" yields True, "x==y" also yields True.  Equivalently, if
> "x==y" yields False, "x is y" also yields False.



Python 2.2.3c1 (#12, May 27 2003, 21:32:04) 
[GCC 2.95.4 20011002 (Debian prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> class a:  
...     def __eq__(x,y): return 0
... 
>>> b = a()
>>> b is b
1
>>> b == b
0


So I don't think we can call it a "fundamental property" (unless the
language has changed, which actually wouldn't surprise me).


-- 
CARL BANKS                      http://www.aerojockey.com/software
"If you believe in yourself, drink your school, stay on drugs, and
don't do milk, you can get work." 
          -- Parody of Mr. T from a Robert Smigel Cartoon



More information about the Python-list mailing list