Python'如果不是'语法

时间:2013-05-24 16:24:04

标签: python python-2.7

我对如何/为什么这么多python开发人员在条件语句中使用if not感到有些困惑。

例如,假设我们有一个函数,

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

但为什么要这样呢?我的意思是,if bar != Noneif bar is not None不会更明确吗? if not试图说什么?

1 个答案:

答案 0 :(得分:169)

是的,if bar is not None更明确,更好,假设它确实是你想要的。情况并非总是如此,存在细微差别:如果if not bar:是任何类型的零容器或空容器,或barFalse将执行。 很多人确实使用not bar 真正的地方bar is not None