I'm a bit confused about how/why so many python developers use
if not in their conditional statements.
for example, lets say we had a function,
def foo(bar = None): if not bar: bar = 2
But why go about this way? I mean, wouldn't doing
if bar != None or
if bar is not Nonebe more explicit? What does
if not try to say?
if bar is not None is more explicit, and thus better, assuming it is indeed what you want. That's not always the case, there are subtle differences:
if not bar: will execute if
bar is any kind of zero or empty container, or
Many people do use
not bar where they really do mean
bar is not None.