如何在Python中引用空对象?


当前回答

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

其他回答

在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
>>> 

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

if not foo:

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

用f来解决这个问题。

year=None
year_val= 'null' if year is None else  str(year)
print(f'{year_val}')

null