Python ';非福即无';和';foo不是none';?

Python ';非福即无';和';foo不是none';?,python,pep,Python,Pep,我想知道下面的2个是否有任何区别,如果有,是什么,我们应该使用哪一个 foo = 9 if not foo is None: print('not foo is None') vs 这两者绝对没有区别。它们将以完全相同的方式运行和编译。您也可以检查它们的性能,完全没有任何区别。让我们评估条件: 1) if not foo(if foo is false) is None (is false): 假就是假。。。因此,它将打印字符串 2) if foo (being true) is

我想知道下面的2个是否有任何区别,如果有,是什么,我们应该使用哪一个

foo = 9

if not foo is None:
    print('not foo is None')
vs


这两者绝对没有区别。它们将以完全相同的方式运行和编译。您也可以检查它们的性能,完全没有任何区别。

让我们评估条件:

1)  if not foo(if foo is false) is None (is false):
假就是假。。。因此,它将打印字符串

2) if foo (being true) is not None(true)
真的是真的。。。。。因此,它将打印字符串

2) if foo (being true) is not None(true)

条件句都是真的并且都会打印出来

我想说。。。none?为什么你需要与none进行比较?它们都是一样的,
如果foo不是none,那么
只是语法上的糖分,更易于阅读。对不起,但我真的不明白你的评估是要显示什么。你用一种非常令人困惑的方式写的。也就是说,我70%肯定这是错误的。