Python bool示例| bool()函數在Python教程中
Python bool示例| bool()函數Python教程是今天的主題。 bool()方法使用標準真值測試過程將值轉換為Boolean(True或False)。將值傳遞給bool()並非強制要求。如果未傳遞值,則bool()返回False。 Python bool()函數返回指定對象的布爾值。 boolean builtins大寫:True和False。
內容概述
- 1 Python bool示例
- 2 #Python bool()標準規則
- 3 #Python bool()函數與自定義對象
- 4 #Python bool()與數字
- 5 #Python bool()與字元串
Python bool示例
該對象將始終返回True,除非:
該對象為空,如(),(),{}
該對象為False
對象為0
對象為None
請參閱以下語法。
bool(object)
object參數類似於String,List,Number等。
請參閱以下示例。
app = False print(bool(app)) app = True print(bool(app)) app = 5 data = 10 print(bool(app==data)) app = None print(bool(app)) app = () print(bool(app)) app = {} print(bool(app)) app = 0.0 print(bool(app)) app = 'MillieBobbyBrown' print(bool(app))
請參閱以下輸出。
➜ pyt python3 app.py False True False False False False False True ➜ pyt
bool()返回以下輸出:
- 如果省略值或為false,則返回false
- 如果值為true,則為True
請參閱其他示例。
def check(num): return(bool(num % 2 == 0)) num = 11 if(check(num)): print("Even") else: print("Odd")
查看輸出。
➜ pyt python3 app.py Odd ➜ pyt
#Python bool()標準規則
Python bool()函數使用標準的真值測試規則將指定的參數對象轉換為布爾值。
用於返回布爾值的主要規則如下。
- 如果沒有實現__bool __()函數和__len __()函數,則任何對象布爾值都被視為True。
- 如果對象沒有定義__bool __()函數但定義了__len __()函數,那麼__len __()函數用於獲取對象的布爾值。如果__len __()返回0,則bool()函數將返回False,否則返回True。
- 對於None和False常量,布爾值將為False。
- 對於零值,布爾值將為False,例如0,0.0,0j,十進位(0)和分數(0,1)。
- 對於像tuple,dict和collections這樣的空數據結構,布爾值將為False,例如「,(),(),{}等。
#Python bool()函數與自定義對象
讓我們看看自定義對象會發生什麼。我不會為對象定義__bool __()和__len __()函數。請參閱以下代碼示例。
# app.py class App: number = 0 def __init__(self, i): self.number = i a = App(0) print(bool(a)) d = App(10) print(bool(d))
請參閱以下輸出。
➜ pyt python3 app.py True True ➜ pyt
由於在上面的示例中,沒有定義__bool __()和__len __()函數,因此將對象布爾值返回為True。讓我們將__len __()函數添加到App類。
class App: number = 0 def __init__(self, i): self.number = i def __len__(self): print('len function called') if self.number > 0: return self.number else: return 0 a = App(0) print(bool(a)) d = App(11) print(bool(d))
請參閱以下輸出。
➜ pyt python3 app.py len function called False len function called True ➜ pyt
很明顯,__len __()函數由bool()調用。返回0時,bool()函數返回False。返回正整數時,bool()函數返回True。
現在讓我們將__bool __()函數添加到App類。
class App: number = 0 def __init__(self, i): self.number = i def __len__(self): print('len function called') if self.number > 0: return self.number else: return 0 def __bool__(self): print('bool function called') return self.number > 0 a = App(0) print(bool(a)) d = App(11) print(bool(d))
請參閱以下輸出。
➜ pyt python3 app.py bool function called False bool function called True ➜ pyt
所以,現在很明顯,如果為對象定義了__bool __()和__len __()函數,則__bool __()函數用於獲取對象的布爾值。
#Python bool()與數字
好的,現在讓我們用數字測試bool()方法。
print(bool(11)) print(bool(11.19)) print(bool(0xF)) print(bool(11 - 10j))
請參閱以下輸出。
➜ pyt python3 app.py True True True True ➜ pyt
#Python bool()與字元串
讓我們用Strings測試book()方法。
print(bool('Krunal')) print(bool('')) print(bool("AppDividend"))
請參閱以下輸出。
➜ pyt python3 app.py True False True ➜ pyt
最後,Python bool示例| bool()函數在Python教程中結束了。