在Python中,任何類型的對(duì)象都可以做真值測(cè)試,并且保證返回True或者False。
以下幾種值(不論類型)在真值測(cè)試中返回False:
1.None
2.False
3.任何類型的數(shù)字0,包括0,0.0,0L,0j
4.空的序列(sequence)或者映射(mapping)類型對(duì)象
5.對(duì)于用戶自定義類型的對(duì)象,如果其類定義了__nonzero__() 或者 __len__()特殊方法并且返回False或者0
對(duì)于最后一條規(guī)則,有幾點(diǎn)需要說(shuō)明:
1.如果類沒(méi)有定義這兩個(gè)方法中的任何一個(gè),則這種類型的對(duì)象真值測(cè)試時(shí)總是為True
2.如果類同時(shí)定義了__nonzero__() 和 __len__(),只會(huì)參考__nonzero__()的返回值
Boolean操作符的特性(直接copy文檔而來(lái)):
x or y: if x is false, then y, else x
x and y: if x is false, then x, else y
not x: if x is false, then True, else False
1.注意and和or操作符的短路特性
2.not運(yùn)算符要么返回True要么返回False
3.and和or運(yùn)算符的返回值不限于True和False,它只是對(duì)x或者y做真值測(cè)試,然后返回其中一個(gè)的值(注意不是其真值)
代碼示例:
s = ''
s = s or 'default value'
print s
運(yùn)行結(jié)果是:
default value
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

