亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Python > 正文

Python all()函數

2023-04-24 19:21:37
字體:
來源:轉載
供稿:網友

Python all()函數是Python的內置函數之一。

Python all()函數的作用是判斷給定的可迭代對象的所有元素是否都為真(或者可迭代對象是否為空),如果是則all()函數返回True,否則返回False

在前面的文章中關于Python中bool值進行介紹過:在Python中,任何值為0的數字類型、空的字符串、空的列表、空的元組、空的集合等都為False,值為None或False的對象也是False,其它情況都為True.

該函數與any()函數具有相似性,讀者可以了解一下any()函數的使用方法。

但該函數對于空的可迭代對象將返回True。

all()函數的語法格式

all(iterable)

參數

iterable:用于判斷所有元素是否都為真的可迭代對象。

返回值

該函數的返回值是邏輯值TrueFalse.

如果可迭代對象中的所有元素為真或可迭代對象為空則返回True,否則返回False

該函數等價于下面的函數定義:

def all(iterable):
    for item in iterable:
        if not item:
            return False
    return True

Python all()函數

all()函數使用示例

1、可迭代對象為空的情況

lst = []  #空列表
print(all(lst))
t = ()  #空元組
print(all(t))
d = {}  #空字典
print(all(d))
s = set()  #空集合
print(all(s))
st = ''  #空字符串
print(all(st))

輸出結果:

True
True
True
True
True

從上面輸出結果可以看出,all()函數對于空的可迭代對象返回True.

2、all()函數使用示例2

lst1 = [0, 1, 2, 3]
print(all(lst1))
lst2 = [1,2,3,4]
print(all(lst2))
lst3 = ['','b','i','y','e','5','u']
print(all(lst3))
print(all(lst3[1:]))   #排除第一個元素
lst4 = ["Python","R","SPSS",None]
print(all(lst4))
print(all(lst4[:-1]))  #排除最后一個元素

輸出結果:

False
True
False
True
False
True

從上面的輸出結果可以看出,對于包含空字符串0、None的可迭代對象,all()函數返回False,否則返回True.

3、復合的迭代對象

lst5 = [[],1,2,3]
lst6 = [(),1,2,3]
lst7 = [[1,2,None],1,2]
lst8 =[[],[]]
print(f"{all(lst5)},{all(lst6)},{all(lst7)},{all(lst8)}")

輸出結果:

False,False,True,False

從上面的例子可以看出,列表中有空的列表,元組的,all()函數返回False,可迭代對象中的子列表中的元素不全是False,且可迭代對象的其它元素不為False時,all()函數返回True.

4、all()函數用于用戶自定義對象

在講解bool()函數的用法時說過,在Python3.x中,用戶自定義對象中如果定義了__bool__()函數,則對象的真假由__bool__()函數決定,如果沒定義__bool__()函數,則如果對象中定義了__len__()函數,則對象的真假由__len__()函數決定。對于長度非0的對象返回True,否則返回False.

如果自定義對象中既沒有定義__boo__()函數,也沒有定義__len__()函數,all()函數返回True.

(1)定義了__bool__()和__len__()函數

class Student:
    name = ""
    def __init__(self, name):
        self.name = name

    def __bool__(self):
        print(self.name,"調用__bool__()")
        return bool(self.name)

    def __len__(self):
        print("調用__len__()")
        return len(self.name)

lst_objs1 = [Student("Wang"),Student("Li")]
print(all(lst_objs1))
lst_objs2 = [Student(""),Student("Liu")]
print(all(lst_objs2))

輸出結果:

Wang 調用__bool__()
Li 調用__bool__()
True
調用__bool__()
False

從輸出結果中,我們可以得到兩個信息:一是在自定義對象中在既定義了__bool__()函數又定義了__len__()函數時,程序使用__bool__()函數決定對象的真假;二是注意到在lst_objs2中只輸出了一個“ 調用__bool__()”內容,說明當all()函數在確定了某一個元素已經是False時,不再判斷下面的元素。

(2)只定義__len__()函數

class Teacher:
    name = ""
    def __init__(self, name):
        self.name = name

    def __len__(self):
        print(f"{self.name}調用__len__()")
        return len(self.name)

lst_objs1 = [Teacher("Wang"),Teacher("Li")]
print(all(lst_objs1))
lst_objs2 = [Teacher(""),Teacher("Liu")]
print(all(lst_objs2))

輸出結果:

Wang調用__len__()
Li調用__len__()
True
調用__len__()
False

(3)未定義__len__()和__bool__()函數

class Department:
    name = ""
    def __init__(self, name):
        self.name = name

lst_objs1 = [Department("M"),Department("C")]
print(all(lst_objs1))
lst_objs2 = [Department(""),Department("A")]
print(all(lst_objs2))

輸出結果:

True
True

從上面的輸出結果可以看出,對于用戶自定義對象,若沒有定義__bool__()函數,也沒有定義__len__()函數的情況下,all()函數一律返回True.

總結

all()函數是判斷可迭代對象中的元素中是否都為真值,若可迭代對象中不含0值,空值,False值,None值時,則返回True,否則返回False??盏目傻鷮ο蟊徽J為是真值。未定義__bool__()和__len__()函數時,all()函數也返回True.

上一篇:Python id()函數

下一篇:Python any()函數

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美黑人又粗大| 91香蕉嫩草神马影院在线观看| 欧美精品在线视频观看| 91久久精品国产91久久性色| 日本人成精品视频在线| 国产精品夫妻激情| 日韩精品高清在线观看| 色一区av在线| 美女扒开尿口让男人操亚洲视频网站| 中文欧美日本在线资源| 一本一道久久a久久精品逆3p| 欧美在线视频网站| 国产一区二区三区视频免费| 国产精品久久电影观看| 色播久久人人爽人人爽人人片视av| 日韩免费高清在线观看| 91精品国产自产在线老师啪| 欧美激情国产日韩精品一区18| 欧美午夜www高清视频| 亚洲第一区中文字幕| 91在线网站视频| 国产99视频精品免视看7| 国产精品老女人视频| 美女999久久久精品视频| 国产精品久久久久久搜索| 中文字幕不卡av| 国产91精品青草社区| 中文字幕亚洲一区二区三区五十路| 不卡av在线网站| 国模精品视频一区二区| 欧美精品在线播放| 国产精品高潮视频| 国产精品久久久久影院日本| 欧美日韩色婷婷| 亚洲免费视频在线观看| 国产精品第8页| 91亚洲精品在线观看| 国产亚洲精品91在线| 亚洲国产精品人人爽夜夜爽| 亚洲美女av电影| 久久色免费在线视频| 日本91av在线播放| 亚洲午夜小视频| 国产丝袜一区二区| 国产欧美一区二区三区久久| 亚洲欧美精品中文字幕在线| 粉嫩av一区二区三区免费野| 日韩精品在线免费观看视频| 亚洲国产私拍精品国模在线观看| 1769国产精品| 亚洲白虎美女被爆操| 国产香蕉一区二区三区在线视频| 国产精品久久久91| 在线a欧美视频| 欧美老女人bb| 国精产品一区一区三区有限在线| 亚洲电影免费观看高清完整版| 日韩av一卡二卡| 久久久亚洲欧洲日产国码aⅴ| 色妞色视频一区二区三区四区| 国产成人亚洲精品| 久久久亚洲影院| 国产精品偷伦免费视频观看的| 日韩在线观看高清| 国产一区二区黑人欧美xxxx| 欧美性猛交xxxx富婆弯腰| 精品国偷自产在线| 久久香蕉国产线看观看av| 欧美成年人视频网站欧美| 欧美激情中文网| 中文国产成人精品久久一| 亚洲片在线资源| 91免费的视频在线播放| 亚洲精品福利在线| 亚洲自拍偷拍第一页| 国产99在线|中文| 77777少妇光屁股久久一区| 久久6精品影院| 欧美一级黑人aaaaaaa做受| 国产精品∨欧美精品v日韩精品| 97av在线影院| 亚洲va欧美va国产综合久久| 久久国产精品久久久久| 国产香蕉精品视频一区二区三区| 7m第一福利500精品视频| 日韩欧美亚洲范冰冰与中字| 欧美xxxx14xxxxx性爽| 久久亚洲综合国产精品99麻豆精品福利| 亚洲国产成人在线视频| 欧美性xxxx18| 久久99精品久久久久久青青91| 亚洲一区二区久久久久久| 色99之美女主播在线视频| 亚洲天堂男人的天堂| 亚洲女同性videos| 亚洲大胆人体视频| 午夜精品99久久免费| 深夜精品寂寞黄网站在线观看| 欧美日韩国产影院| 热久久99这里有精品| 国产91精品视频在线观看| 国产精品中文久久久久久久| 色婷婷综合久久久久中文字幕1| 亚洲精品videossex少妇| 亚洲欧美日韩网| 国产精品国产三级国产aⅴ浪潮| 久久久成人精品视频| 日韩视频免费在线| 欧美日韩中文在线观看| 日韩欧美aⅴ综合网站发布| 国产精品一区二区三区久久久| 欧美高清性猛交| 日韩中文字幕视频在线观看| 亚洲综合日韩在线| 欧美性极品少妇精品网站| 亚洲bt欧美bt日本bt| 久久艳片www.17c.com| 亚洲va欧美va在线观看| 欧洲s码亚洲m码精品一区| 欧美在线影院在线视频| 欧美极品少妇xxxxⅹ免费视频| 久久久精品一区二区三区| 北条麻妃一区二区在线观看| 久久99国产精品久久久久久久久| 国产精品一二三在线| 深夜福利一区二区| 欧美精品在线观看91| 国产三级精品网站| 欧美一区二区视频97| 久久色精品视频| 日韩精品一区二区三区第95| 国产精品免费电影| 国产91精品视频在线观看| 日韩在线高清视频| 亚洲春色另类小说| 久久99视频免费| 青青青国产精品一区二区| 亚洲日韩中文字幕在线播放| 精品视频中文字幕| 国产成人精品国内自产拍免费看| 成人有码视频在线播放| 亚洲欧美在线x视频| 日韩激情视频在线播放| 欧美色另类天堂2015| 日韩精品欧美国产精品忘忧草| 欧美视频专区一二在线观看| 亚洲全黄一级网站| 91久久久久久久久久久| 97人人做人人爱| 久久久精品在线| 亚洲性视频网址| 亚洲人av在线影院| 国产精品久久国产精品99gif| 精品国偷自产在线视频| 秋霞成人午夜鲁丝一区二区三区| 久久久久久一区二区三区| 欧美午夜激情在线| 午夜精品一区二区三区在线| 97涩涩爰在线观看亚洲| 国产日韩欧美另类| 欧美在线一级视频| 亚洲大胆美女视频| 国产69精品久久久久9999| 亚洲女人初尝黑人巨大|