On Fri, 23 Jan 2009 14:58:34 -0500, Gerald Britton wrote: > Hi -- Some time ago I ran across a comment recommending using <var> is > None instead of <var> == None (also <var> is not None, etc.)
That entirely depends on whether you wish to test for something which *is* None or something with *equals* None. Those two things have different meanings. I wonder, do newbies actually get the impression from somewhere that "is" is a synonym for "=="? > My own > testing indicates that the former beats the latter by about 30% on > average. Not a log for a single instruction but it can add up in large > projects. If you have a "large" project where the time taken to do comparisons to None is a significant portion of the total time, I'd be very surprised. var is None is a micro-optimization, but that's not why we do it. We do it because usually the correct test is whether var *is* None and not merely equal to None. Any random object might happen to equal None (admittedly most objects don't), but only None is None. -- Steven -- http://mail.python.org/mailman/listinfo/python-list