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所有,未经许可,不得转载
你可能还喜欢