2.9 布尔值和条件判断

条件判断对于程序逻辑的实现是至关重要的,对于测试自动化更是如此,因为测试的核心其实就是判断实际结果是否与预期相符。

我们来看如下一段简单的代码:


if salary > 5000:
    print('income tax required')

if salary <= 5000:
    print("no income tax")

即使对编程只有最基本的认识,我们也可以大概理解这段程序逻辑:根据salary值的不同做相应的处理。这就是条件判断。

Python有一种数据类型,叫作布尔类型(bool),这种类型只有两个常量,分别是True和False,对应于语义上的对/错、真/假、是/否、有值/无值。条件判断围绕布尔值展开,让程序可以处理逻辑分支。

来看一个简单的数值比较例子。


>>> salary = 8000
>>> salary > 5000
True
>>> salary <= 8000
True
>>> salary < 3000
False
>>> salary != 10000
True

在条件判断方面,Python有一些关键字和操作符(见表2-6和表2-7),让我们能够以非常接近自然语言的方式来写相应的代码。

表2-6 条件判断关键字

以下是几个用条件判断关键字和比较操作符写出代码的例子:

1)年龄不够20岁,无论男女,都不许结婚!


if age < 20:
    print('Too young to get married!')

表2-7 比较操作符

2)年满20岁了?那满22周岁了吗?


if age < 20:
    print('Too young to get married!')
elif age >= 22:
    print('Old enough to get married')

3)如果年满20岁,但是还不满22周岁,这种情况能不能结婚要看性别。


if age < 20:
    print('no one, too young to get married!')
elif age >= 22:
    print('Old enough to get married')
elif sex == 'male':
    print('Male, needs to be 22+ to get married')
else:
    print('Female, ok to get married')

通过条件判断以及相应的处理逻辑,程序才能表现得“智能”。