On 2009-03-06 14:23, Gary Herron wrote:
Robert Kern wrote:
On 2009-03-06 13:46, Gary Herron wrote:
Emanuele D'Arrigo wrote:
Hi everybody,
while testing a module today I stumbled on something that I can work
around but I don't quite understand.
*Do NOT use "is" to compare immutable types.* **Ever! **
Well, "foo is None" is actually recommended practice....
But since newbies are always falling into this trap, it is still a good
rule to say:
Newbies: Never use "is" to compare immutable types.
and then later point out, for those who have absorbed the first rule:
Experts: Singleton immutable types *may* be compared with "is",
although normal equality with == works just as well.
That's not really true. If my object overrides __eq__ in a funny way, "is None"
is much safer.
Use "is" when you really need to compare by object identity and not value.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
--
http://mail.python.org/mailman/listinfo/python-list