我们可以把需要判断的对象放在程序中,那么执行出来会有两个结果,要么是真,要么为假。我们今天所要讲的all函数就是用来判断参数的程序,根据输入参数的不同,输出True或者False的结果。下面我们就all函数进行说明、语法等方面的了解, 然后通过实例探讨空元组的返回值结果。
1.说明:
接受一个可迭代器对象为参数,当参数为空或者不为可迭代器对象是报错
>>> 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
>>> all([1,2]) #列表中每个元素逻辑值均为True,返回True True >>> all([0,1,2]) #列表中0的逻辑值为False,返回False False
如果可迭代对象为空(元素个数为0),返回True
>>> all(()) #空元组 True >>> all({}) #空字典 True
2.语法
all(iterable) # iterable -- 元组或列表。
3.参数
iterable — 元组或列表。
4.返回值
如果iterable的所有元素不为0、''、False或者iterable为空,all(iterable)返回True,否则返回False;
5.实例
>>> any(()) False >>> any([]) False >>> any(['',0]) False >>> any(['',0,'1']) True >>> any(['',0,False]) False
注意:空元组、空列表返回值为True,这里要特别注意。
如何处理从python函数返回的空(无)元组
我有一个函数,要么返回一个元组,要么返回None.呼叫者应该如何处理这种情况?
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:
try: x,y = nontest() except TypeError: # do the None-thing here or pass
或者没有尝试 – 除外:
res = nontest() if res is None: .... else: x, y = res
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)