如何分享Python中判断实例是否为空的技巧?
- 内容介绍
- 相关推荐
本文共计721个文字,预计阅读时间需要3分钟。
在实际工作中,我们应避免与空值进行交涉,相信不少初学者都会写出下面的代码:`if a is None: dosomething.else: dotheotherthing.` 这样的写法看起来没错,但在实际使用中会遇到问题。通常来说,Python 会把 `None` 当作 `False` 处理。因此,上面的代码在 `a` 为 `None` 时会执行 `dosomething()`,而当 `a` 不是 `None` 但为 `False` 时(例如 `a` 为 `False` 或空字符串 `''`),也会执行 `dosomething()`,这显然不是我们想要的结果。
在实际的工作当中,我们难免要与空值打交道,相信不少初学者都会写出下面的代码:
ifaisNone: dosomething.else: dotheotherthing.
这样写看起来不错,但实际上会有问题。一般来讲,Python中会把下面几种情况当做空值来处理:
None False 0,0.0,0L '',(),[],{}
其中None的特殊之处在于,它既不是数值0,也不是某个数据结构的空值,它本身就是一个空值对象。它的类型是NoneType,它遵循单
例模式,也就是说,在同一命名空间下的所有None其实质上都是同一个空值对象。
本文共计721个文字,预计阅读时间需要3分钟。
在实际工作中,我们应避免与空值进行交涉,相信不少初学者都会写出下面的代码:`if a is None: dosomething.else: dotheotherthing.` 这样的写法看起来没错,但在实际使用中会遇到问题。通常来说,Python 会把 `None` 当作 `False` 处理。因此,上面的代码在 `a` 为 `None` 时会执行 `dosomething()`,而当 `a` 不是 `None` 但为 `False` 时(例如 `a` 为 `False` 或空字符串 `''`),也会执行 `dosomething()`,这显然不是我们想要的结果。
在实际的工作当中,我们难免要与空值打交道,相信不少初学者都会写出下面的代码:
ifaisNone: dosomething.else: dotheotherthing.
这样写看起来不错,但实际上会有问题。一般来讲,Python中会把下面几种情况当做空值来处理:
None False 0,0.0,0L '',(),[],{}
其中None的特殊之处在于,它既不是数值0,也不是某个数据结构的空值,它本身就是一个空值对象。它的类型是NoneType,它遵循单
例模式,也就是说,在同一命名空间下的所有None其实质上都是同一个空值对象。

