Python實踐7-布林值False
阿新 • • 發佈:2018-12-13
布林值
- 所有標準物件均可用於布林測試,每個物件天生具有布林True或False
- 空物件, 值為零的任何數字或者None的布林值都是False
- 使用者建立的類例項如果定義了nonzero(
__nonzero__
())或length(__len__
())且值為0,那麼他們的布林值就是False。如果nonzero和length同時存在,以nonzero的結果為準。
標準物件裡的False
def print_boolean_value(value): if value: print('True') else: print('False') if __name__ == '__main__': # 下面所有的結果都是False print_boolean_value(None) print_boolean_value(False) # 所有值為0的數 print_boolean_value(0) print_boolean_value(0.0) print_boolean_value(0L) print_boolean_value(0.0 + 0.0j) print_boolean_value("") print_boolean_value([]) print_boolean_value(()) print_boolean_value({})
自定義類例項的False
class A(object): def __nonzero__(self): return False class B(object): def __len__(self): return 0 class C(object): def __nonzero__(self): return False def __len__(self): return 1 class D(object): pass if __name__ == '__main__': # 下面的結果是False print_boolean_value(A()) print_boolean_value(B()) print_boolean_value(C()) # 下面的結果是True print_boolean_value(D())
程式碼下載
本系列文章和程式碼已經作為專案歸檔到github,倉庫地址:jumper2014/PyCodeComplete。大家覺得有幫助就請在github上star一下,你的支援是我更新的動力。什麼?你沒有github賬號?學習Python怎麼可以沒有github賬號呢,快去註冊一個啦!