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 = 2But 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?
1 Answer
Yes, 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 False.
Many people do use not bar where they really do mean bar is not None.