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教程中结束了。