Python 布尔值
布尔值表示一个逻辑运算的结果,像其他语言一样,Python 布尔类型的值只有 2 个: True
或 False
。
布尔值表示一个逻辑运算的结果,像其他语言一样,Python 布尔类型的值只有 2 个: True
或 False
。
True
表示一个逻辑运算的结果为真False
表示一个逻辑运算的结果为假
比如,对两个数值进行比较运算的时候,结果就是布尔值,表示比较的结果是否成立。
print(10 > 9) # 输出 True
print(10 == 9) # 输出 False
print(10 < 9) # 输出 False
在 if 语句中的条件也需要一个布尔值,如果条件为真,就执行 if
代码块,否则执行 else
代码块。
a = 200
b = 33
if b > a:
print("b is greater than a")
else:
print("b is not greater than a")
输出:
b is not greater than a
评估值和变量
bool()
函数允许您评估任何值,并返回 True
或 False
。
计算一个字符串和一个数字:
print(bool("Hello")) # 输出 True
print(bool(15)) # 输出 True
评估两个变量:
x = "Hello"
y = 15
print(bool(x)) # 输出 True
print(bool(y)) # 输出 True
大多数值都是 True
如果它具有某种内容,几乎任何值都会被评估为 True
。
- 任何字符串都是
True
,空字符串除外。 - 任何数字都是
True
,除了0
。 - 任何列表、元组、集合和字典都是
True
,空的除外。
以下将返回 True:
bool("abc") # True
bool(123) # True
bool(["apple", "cherry", "banana"]) # True
返回 False
的值
实际上, 除了空值(例如 ()
、 []
、{}
、 ""
、 数字 0
和 None
值 )之外,计算为 False
的值并不多。当然 False
计算结果为 False
。
以下将返回 False:
bool(False) # False
bool(None) # False
bool(0) # False
bool("") # False
bool(()) # False
bool([]) # False
bool({}) # False
还有一种情况,当一个类的的 __len__
函数的返回值为 0
或者 False
时,这个类的对象的评估结果为 False
。
class myclass():
def __len__(self):
return 0
myobj = myclass()
print(bool(myobj)) # 输出 False
函数可以返回布尔值
函数可以返回一个布尔值作为结果。
def myFunction() :
return True
print(myFunction()) # 输出 True
您可以根据函数的返回值作为条件来执行代码:
def myFunction() :
return True
if myFunction():
print("YES!")
else:
print("NO!")
输出: YES!
Python 也有许多返回布尔值的内置函数,如 isinstance()
函数,可用于确定对象是否属于某种数据类型。
检查对象是否为整数:
x = 200
print(isinstance(x, int)) # 输出 True