python空元组在all中返回结果详解

举报
泽宇-Li 发表于 2020/12/15 22:13:04 2020/12/15
【摘要】 我们可以把需要判断的对象放在程序中,那么执行出来会有两个结果,要么是真,要么为假。我们今天所要讲的all函数就是用来判断参数的程序,根据输入参数的不同,输出True或者False的结果。下面我们就all函数进行说明、语法等方面的了解, 然后通过实例探讨空元组的返回值结果。1.说明:接受一个可迭代器对象为参数,当参数为空或者不为可迭代器对象是报错12345 >>> all(2) #传入数值报错...

我们可以把需要判断的对象放在程序中,那么执行出来会有两个结果,要么是真,要么为假。我们今天所要讲的all函数就是用来判断参数的程序,根据输入参数的不同,输出True或者False的结果。下面我们就all函数进行说明、语法等方面的了解, 然后通过实例探讨空元组的返回值结果。

1.说明:

接受一个可迭代器对象为参数,当参数为空或者不为可迭代器对象是报错

1
2
3
4
5
>>> all(2) #传入数值报错
Traceback (most recent call last):
 File "<pyshell#9>", line 1, in <module>
  all(2)
TypeError: 'int' object is not iterable

如果可迭代对象中每个元素的逻辑值均为True时,返回True,否则返回False

1
2
3
4
>>> all([1,2]) #列表中每个元素逻辑值均为True,返回True
True
>>> all([0,1,2]) #列表中0的逻辑值为False,返回False
False

如果可迭代对象为空(元素个数为0),返回True

1
2
3
4
>>> all(()) #空元组
True
>>> all({}) #空字典
True

2.语法

1
all(iterable) # iterable -- 元组或列表。

3.参数

iterable -- 元组或列表。

4.返回值

如果iterable的所有元素不为0、''、False或者iterable为空,all(iterable)返回True,否则返回False;

5.实例

1
2
3
4
5
6
7
8
9
10
>>> any(())
False
>>> any([])
False
>>> any(['',0])
False
>>> any(['',0,'1'])
True
>>> any(['',0,False])
False

注意:空元组、空列表返回值为True,这里要特别注意。

如何处理从python函数返回的空(无)元组

我有一个函数,要么返回一个元组,要么返回None.呼叫者应该如何处理这种情况?

1
2
3
4
5
6
7
8
def nontest():
 return None
 
x,y = nontest()
 
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
TypeError: 'NoneType' object is not iterable

EAFP:

1
2
3
4
try:
  x,y = nontest()
except TypeError:
  # do the None-thing here or pass

或者没有尝试 – 除外:

1
2
3
4
5
res = nontest()
if res is None:
  ....
else:
  x, y = res






收藏
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。