如何在Python中引用空对象?


当前回答

在Python中,“null”对象是单例None。

要检查某个值是否为None,使用is标识符:

if foo is None:
    ...

其他回答

上面的答案只会为None的结果为True,但存在float('nan')这样的东西。你可以使用pandas isnull:

>>> import pandas as pd
>>> pd.isnull(None)
True
>>> pd.isnull(float('nan'))
True
>>> pd.isnull('abc')
False
>>> 

或者没有熊猫:

>>> a = float('nan')
>>> (a != a) or (a == None)
True
>>> a = None
>>> (a != a) or (a == None)
True
>>> 

这样做的原因是float('nan') != float('nan'):

>>> float('nan') == float('nan')
False
>>> float('nan') != float('nan')
True
>>> 

它不像其他语言那样叫null,而是None。这个对象总是只有一个实例,所以如果需要,可以检查x is None(标识比较)是否相等,而不是x == None。

Null是一个特殊的对象类型,比如:

>>>type(None)
<class 'NoneType'>

你可以检查一个对象是否在类'NoneType'中:

>>>variable = None
>>>variable is None
True

更多信息可以在Python文档中找到

在Python中,“null”对象是单例None。

要检查某个值是否为None,使用is标识符:

if foo is None:
    ...

根据真值测试,'None'直接测试为FALSE,所以最简单的表达式就足够了:

if not foo: