写点什么

python 小知识 - 如何判断一个对象为空值

作者:AIWeker
  • 2022 年 7 月 20 日
  • 本文字数:937 字

    阅读完需:约 3 分钟

python小知识-如何判断一个对象为空值

1.python 中的空值

我们在开发过程中经常会遇到判断一个对象是否是空值的情况,以便于对于空值情况做一些特殊的处理或者异常判断


那么,python 中的空值是如何定义的?


针对我们常见的 python 类型,如数值型,布尔型,字符类型,列表,字典以及元组等,我们通常会显式的判断,比如:


int_a = 0float_b = 0.0bool_c = Falselist_d = []dict_e = {}tuple_f = ()string_g = ''
if int_a == 0: print('int empty')if float_b == 0.00: print('float empty')if bool_c == False: print('bool empty')if string_g == '': print('string empty') if len(list_d) == 0: print('list empty')
if len(dict_e) == 0: print('dict empty') if len(tuple_f) == 0: print('tuple empty')
# int empty# float empty# bool empty# string empty# list empty# dict empty# tuple empty
复制代码


其实,在 python 中下列值都认为是空值


  • None

  • False

  • 任何形式的数值类型零

  • 空的序列,如'', 列表,元组

  • 空的字典


所以判断空值不必要显式,可以有更简便的方式:


if not int_a:    print('int empty')    if not float_b:    print('float empty')    if not bool_c:    print('bool empty')if not string_g:    print('string empty')    if not list_d:    print('list empty')
if not dict_e: print('dict empty') if not tuple_f: print('tuple empty')
# int empty# float empty# bool empty# string empty# list empty# dict empty# tuple empty
复制代码


2.特殊的空值 None

None 是一个特殊的空值, None 是不等于任何其他类型值,None 有自己类型 NoneTypeNone 判断是通过 is 关键字来判断


如果在 if 判断语句时,None 是等同于 False


a = Noneb = Noneprint(a == b)print(a == '')print(type(None))
if a is None: print('a is empty')
if not a: print('a is empty')
# True# False# <class 'NoneType'># a is empty# a is empty
复制代码


使用 None 需要特别的注意,除非是显式的赋值 None,否则任何值都不等于 None


list_d = []print(list_d == None)print(list_d is None)print(list_d is not None)# False# False# True
复制代码


所以从另一个角度看,None 不代表其他的空值。

发布于: 刚刚阅读数: 3
用户头像

AIWeker

关注

公众号:人工智能微客(aiweker) 2019.11.21 加入

人工智能微客(aiweker)长期跟踪和分享人工智能前沿技术、应用、领域知识,不定期的发布相关产品和应用,欢迎关注和转发

评论

发布
暂无评论
python小知识-如何判断一个对象为空值_Python_AIWeker_InfoQ写作社区