我有:
x = None
到目前为止,我发现的许多引用都按以下方式进行“null”检查:
if x is None:
...
(例如,this question)。
在我的代码中,我有:
if not x:
...
我正在做的事情当前按预测工作(返回true),但我想知道是否有任何用例,在第一个示例中执行检查是否最佳。
道歉,如果这是非常明显的或者之前已经提出过问题 - 我在网站上找不到这个具体问题的答案。
答案 0 :(得分:4)
not x
的所有内容, True
也将返回False
。一些例子:
>>> x = ()
>>> not x
True
>>> x = []
>>> not x
True
>>> x = ''
>>> not x
True
>>> x = 0
>>> not x
True
>>> x is None
False
因此,如果您的代码在x
为None
时采取不同的行为,而x
为空列表,则为元组,字符串,数字为零,...然后使用{{ 1}}或x == None
代替x is None
。