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 None
be more explicit? What does if not
try to say?
This question is related to
python
python-2.7
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
.
Source: Stackoverflow.com