212

if not非常に多くの python 開発者が条件ステートメントでどのように/なぜ使用するのかについて、私は少し混乱しています。

たとえば、関数があるとしましょう。

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

しかし、なぜこのように行くのでしょうか?つまり、やらないか、もっと明確にしないif bar != Noneでしょif bar is not Noneうか?とはどういう意味if notですか?

4

1 に答える 1

270

はい、if bar is not Noneそれが実際にあなたが望むものであると仮定すると、より明示的であり、したがってより優れています。常にそうであるとは限りません。微妙な違いがあります。がゼロまたは空のコンテナのif not bar:場合に実行されます。多くの人は、実際に意味するところで を使用しています。barFalsenot barbar is not None

于 2013-05-24T16:29:35.100 に答える