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()返回以下輸出:

  1. 如果省略值或為false,則返回false
  2. 如果值為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()函數使用標準的真值測試規則將指定的參數對象轉換為布爾值。

用於返回布爾值的主要規則如下。

  1. 如果沒有實現__bool __()函數和__len __()函數,則任何對象布爾值都被視為True。
  2. 如果對象沒有定義__bool __()函數但定義了__len __()函數,那麼__len __()函數用於獲取對象的布爾值。如果__len __()返回0,則bool()函數將返回False,否則返回True。
  3. 對於None和False常量,布爾值將為False。
  4. 對於零值,布爾值將為False,例如0,0.0,0j,十進位(0)和分數(0,1)。
  5. 對於像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教程中結束了。

資訊來源:由0x資訊編譯自APPDIVIDEND,版權歸作者Krunal所有,未經許可,不得轉載
你可能還喜歡