'if name is not None:' v. 'if name:'
fredrik at pythonware.com
Tue Jul 15 23:11:52 CEST 2008
Victor Noagbodji wrote:
> Well that's exactly why I'm asking. Since None returns False in if
> statements. Why do people use if name is not None: instead of simply
> writing if not name?
Because they want to distinguish between None and other values that
evaluate to False, of course. As the page I linked to explains, there
are many objects that evaluate to false in a boolean context; None is
just one of them.
Or to spell it out: if you need to distinguish between None and other
false values, use an explicit test. If you don't need to distinguish
between None and other false values, don't use an explicit test.
More information about the Python-list