Python3 判断参数是否全为Ture, all() 函数详解

all()函数

主要用途是判断参数的所有元素是否不为0、空('')、False则返回True,其中任一不符均返回False。
它是Python的内置函数,在python文件中直接可以使用。

参数: 元组(tuple)或列表(list)(常用参数类型就是这两类,因为字符串无论是否为空都会返回True的,详见下方实例)。

返回值: 如果元祖或列表中所有元素不为0、空(’’)、False返回True,否则返回False;
注意: 空元组、空列表、空字符串返回值为True,这里要特别注意。

实例1:列表(list)
print(all(['a', 'b', 'c', 'd']))     #列表list,元素都不为空或0。
print(all(['a', 'b', '', 'd']))      #列表list,存在一个为空的元素。
print(all(['a', 'b', False, 'd']))   #列表list,存在一个为False的元素。
print(all([0, 1, 2, 3]))             #列表list,存在一个为0的元素。

运行结果:
在这里插入图片描述

实例2:元组(tuple)
print(all(('a', 'b', 'c', 'd')))     #元组tuple,元素都不为空或0。
print(all(('a', 'b', '', 'd')))      #元组tuple,存在一个为空的元素。
print(all(('a', 'b', False, 'd')))   #元组tuple,存在一个为False的元素。
print(all((0, 1, 2, 3)))             #元组tuple,存在一个为0的元素。

运行结果:
在这里插入图片描述

实例3:特殊情况(列表和元组)
print(all([]))        #空列表list
print(all(()))        #空元组tuple
print(all(['']))      #列表list,仅有一个空参数。
print(all(('')))      #元组tuple,仅有一个空参数。
print(all((0,'')))    #元组tuple,有两个空参数。

运行结果:
空列表、空元组返回True;
当列表中仅有一个参数,且为0、空、False时返回False;
元组仅有一个参数,值为空时返回True,值为0或者False会报错;
元组有两个及两个以上参数时,其中有参数为0或者False不会报错,两个都为空False。
在这里插入图片描述

实例4:特殊情况(字符串、数字、布尔值)

在一般情况下不建议用all来判断一个独立的值是否为True,all一般用来判断列表及长度大于1的元组。
字符串、数字、布尔值用if就可以了,因为用all时,字符串为空也是返回Ture,而字符串为数字或者布尔值时会报错。

print(all(''))      #空字符串
print(all(0))       #参数为数字
print(all(False))   #参数为布尔值

运行结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45743420/article/details/103570632