1. 程式人生 > 程式設計 >python空元組在all中返回結果詳解

python空元組在all中返回結果詳解

我們可以把需要判斷的物件放在程式中,那麼執行出來會有兩個結果,要麼是真,要麼為假。我們今天所要講的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(['','1'])
True
>>> any(['',False])
False

注意:空元組、空列表返回值為True,這裡要特別注意。

如何處理從python函式返回的空(無)元組

我有一個函式,要麼返回一個元組,要麼返回None.呼叫者應該如何處理這種情況?

def nontest():
 return None

x,y = nontest()

Traceback (most recent call last):
 File "<stdin>",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

到此這篇關於python空元組在all中返回結果詳解的文章就介紹到這了,更多相關python空元組在all中返回的是什麼內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!