我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

菩提本无树,明镜亦非台。本来无一物,何处惹尘埃。python的变量层面上没有Null,函数层面上有Null。代码层面上,python中存在:NoneNaN,空字符串以及空格。对于特征工程来说,这些大概率情况下,都是非正常的值,需要进一步的处理。本文讨论第一种情况:None

苏南大叔:python编程,如何区分判断一个变量是否为空值None? - 区分是否为None
python编程,如何区分判断一个变量是否为空值None?(图3-1)

大家好,这里是苏南大叔的“程序如此灵动”博客,这里讲述苏南大叔和计算机代码之间的故事。测试环境:python@3.6.8pandas@1.1.5numpy@1.24.4

type判断

None的类型,是非常特别的。和其它值不一样。所以,可以直接判断type

a = None
print(a, type(a))                              # None <class 'NoneType'>
print(type(a) == "NoneType")                   # False
print(str(type(a)) == "<class 'NoneType'>")    # True
print(type(a) == type(None))                   # True
print(type(a) is type(None))                   # True

苏南大叔:python编程,如何区分判断一个变量是否为空值None? - type判断
python编程,如何区分判断一个变量是否为空值None?(图3-2)

is判断【推荐】

推荐使用is None进行判断,例如:

a = None
print(a == None)       # True
print(a is None)       # True
print(a is not None)   # False

==也可以做判断,但是更推荐使用is

苏南大叔:python编程,如何区分判断一个变量是否为空值None? - 推荐方式
python编程,如何区分判断一个变量是否为空值None?(图3-3)

不能使用not判断

not None的值是False,但是很多其它的值Not也是False。比如:

a = None
print(not a == False)             # True
print(not True == False)          # True
print(not [] == False)            # True
print(not list() == False)        # True
print(not tuple() == False)       # True
print(not set() == False)         # True

相关文章

结语

没啥可说的,链接给出如下:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   python