On 15 November 2011 21:34, Chris Angelico <ros...@gmail.com> wrote: > On Wed, Nov 16, 2011 at 8:20 AM, David Riley <fraveyd...@gmail.com> wrote: >> Comparisons to singletons like None should always be done with >> 'is' or 'is not', never the equality operators. >> >> Also, beware of writing "if x" when you really mean "if x is not None" >> -- e.g. when testing whether a variable or argument that defaults to >> None was set to some other value. The other value might have a type >> (such as a container) that could be false in a boolean context! > > It's probably quicker to execute "if x is None" than "if x" > (presumably the former just compares the two pointers). On the other > hand, it's more compact to leave off the "is None". And on the > gripping hand, neither "quicker to execute" nor "more compact" equates > to "more Pythonic".
It's idiomatic to write "x is None" when you want to know whether x is None. -- Arnaud -- http://mail.python.org/mailman/listinfo/python-list