Python 真值测试


什么是真值

我们可以使用任何对象来测试真值。通过在 if 或 while 语句中提供条件,可以进行检查。

除非类方法 __bool__() 返回 False 或 __len__() 方法返回 0,否则我们可以认为该对象的真值为 True

  • 当常量的值为 FalseNone 时,其值为 False。

  • 当变量包含不同的值,例如 0、0.0、Fraction(0, 1)、Decimal(0)、0j 时,它表示 False 值。

  • 空序列 ‘‘、[]、()、{}、set(0)、range(0) 的真值均为 False

1 和 0 的真值

真值 0 等效于 False,而 1 等效于 True。让我们看看真值,即 1 的真值为 True:

a = 1, then
bool(a) = True

让我们看看真值的相反情况,即 0 的真值为 False:

a = 0, then
bool(a) = False

让我们再看一个简单的例子。1 的真值为 True:

a = 1

if(a==1)
   print(“True”)

0 的真值为 False:

a = 0

if(a==0)
   print(“False”)

Python 真值测试示例

让我们看一个完整的例子:

示例

class A: # The class A has no __bool__ method, so default value of it is True def __init__(self): print('This is class A') a_obj = A() if a_obj: print('It is True') else: print('It is False') class B: # The class B has __bool__ method, which is returning false value def __init__(self): print('This is class B') def __bool__(self): return False b_obj = B() if b_obj: print('It is True') else: print('It is False') myList = [] # No element is available, so it returns False if myList: print('It has some elements') else: print('It has no elements') mySet = (10, 47, 84, 15) # Some elements are available, so it returns True if mySet: print('It has some elements') else: print('It has no elements')

输出

This is class A
It is True
This is class B
It is False
It has no elements
It has some elements

更新于:2022年8月12日

1K+ 次浏览

开启你的 职业生涯

完成课程获得认证

开始学习
广告