Python'如果不'语法

我有点困惑如何/为什么这么多的Python开发人员使用, if not他们的条件语句。

例如,让我们说我们有一个function,

 def foo(bar = None): if not bar: bar = 2 

但为什么要这样呢? 我的意思是, if bar != None不行if bar != None或者if bar is not None更明确? if not尝试说什么呢?

是的, if bar is not None更明确,因此更好,假设它确实是你想要的。 情况并不总是这样,有细微的差别: if not bar:如果bar是任何一种零或空容器,或者False ,将会执行。 许多人不使用not bar ,他们真的意味着bar is not None