is and == (is not other_thread)
Remco Gerlich
scarblac at pino.selwerd.nl
Thu Mar 1 08:04:30 EST 2001
More information about the Python-list mailing list
Thu Mar 1 08:04:30 EST 2001
- Previous message (by thread): is and == (is not other_thread)
- Next message (by thread): is and == (is not other_thread)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Grant Griffin <not.this at seebelow.org> wrote in comp.lang.python: > I've had a few of my own little questions about "is" and "==", vis-a-vis > strings: > > 1) Are two strings that are equal in the "==" sense always guaranteed to > be equal in the "is" sense? No. Only when they have been interned. No guarantees about interning are given, but you can use intern() yourself, I think string literals are automatically interned, and maybe short strings as well. But no, you can't in general use 'is' for string comparison. > 2) Is "is" faster than "==" for strings? Of hand, it would seem so. > That's why I'm tempted to use it for string equality. (OTOH, if strings > can be "==" equal without being "is" equal, than I guess that's wildly > false economy. <wink>) 'is' may be slightly faster, but can't be used in general. > 3) Internally, does "==" for strings always begin with an "is" > operation? '==' starts with an 'is' test for any argument. Simple test: class A: def __cmp__(self, other): return -1 # Compares different to anything print A() == A() # Prints 0, two different instances x = A() print x == x # Prints 1, the 'is' test is used and __cmp__ is skipped > (btw,-nobody-ever-answers-every-part-of-my-silly-multipart-questions, > -so-i-dare-you-folks-to-buck-the-trend-<wink>)-ly y'rs, Oops. It was an accident, honest! I hadn't read this yet! -- Remco Gerlich
- Previous message (by thread): is and == (is not other_thread)
- Next message (by thread): is and == (is not other_thread)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list