Python中使用Boolean操作符做真值測試實例
在Python中,任何類型的對象都可以做真值測試,并且保證返回True或者False。
以下幾種值(不論類型)在真值測試中返回False:
1.None
2.False
3.任何類型的數(shù)字0,包括0,0.0,0L,0j
4.空的序列(sequence)或者映射(mapping)類型對象
5.對于用戶自定義類型的對象,如果其類定義了__nonzero__() 或者 __len__()特殊方法并且返回False或者0
對于最后一條規(guī)則,有幾點需要說明:
1.如果類沒有定義這兩個方法中的任何一個,則這種類型的對象真值測試時總是為True
2.如果類同時定義了__nonzero__() 和 __len__(),只會參考__nonzero__()的返回值
Boolean操作符的特性(直接copy文檔而來):
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運算符要么返回True要么返回False
3.and和or運算符的返回值不限于True和False,它只是對x或者y做真值測試,然后返回其中一個的值(注意不是其真值)
代碼示例:
s = ''
s = s or 'default value'
print s
運行結(jié)果是:
default value
相關文章
python打包生成的exe文件運行時提示缺少模塊的解決方法
今天小編就為大家分享一篇python打包生成的exe文件運行時提示缺少模塊的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10Python定時任務框架APScheduler原理及常用代碼
這篇文章主要介紹了Python定時任務框架APScheduler原理及常用代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-10-10python中翻譯功能translate模塊實現(xiàn)方法
在本篇文章中小編給各位整理了一篇關于python中翻譯功能translate模塊實現(xiàn)方法,有需要的朋友們可以參考下。2020-12-12Pandas?Matplotlib保存圖形時坐標軸標簽太長導致顯示不全問題的解決
在使用matplotlib作圖的時候,有的時候會遇到畫圖時顯示不全和圖片保存時不完整的問題,這篇文章主要給大家介紹了關于Pandas?Matplotlib保存圖形時坐標軸標簽太長導致顯示不全問題的解決方法,需要的朋友可以參考下2022-06-06