第5章
5.1 一个简单示例
假设有一个汽车列表,并将其中每辆汽车的名称打印出来。对于大多数汽车,都以首字母大写的方式打印其名称,但是对于’bmw’,应以全大写的方式打印:
# 元素'bmw'全大写,其他元素首字母大写
cars = ['audi','bmw','subaru','toyota']
for car in cars:
if car == 'bmw':
print(car.upper())
else:
print(car.title())
# 输出
Audi
BMW
Subaru
Toyota
5.2 条件测试
每条if语句的核心都是一个值为True或False的表达式,这种表达式称为条件测试。Python根据条件测试的值为True还是False来决定是否执行if语句中的代码。如果条件测试的值为True,Python就执行紧跟在if语句后面的代码;如果为False,Python就忽略这些代码。
5.2.1 检查是否相等
>>> car = 'bmw'
>>> car == 'bmw'
True
5.2.2检查是否相等时不考虑大小写
1.在Python中检查是否相等时区分大小写
>>> car = 'bmw'
>>> car == 'Bmw'
False
2.如果大小写无关紧要,而只想检查变量的值,可将变量的值转换为小写再进行比较
>>> car = 'Bmw'
>>> car.lower() == 'bmw'
True
5.2.3 检查是否不相等
# 检查是否不相等使用 !=
requested_topping = 'mushrooms'
if requested_topping != 'anchovied':
print("Hello the anchovies!")
5.2.4 比较数字
条件语句中可包含各种数字比较,如小于、小于等于、大于、大于等于:
5.2.5 检查多个条件
1.使用and检查多个条件
2.使用or检查多个条件
5.2.6检查特定值是否包含在列表中
要判断特定的值是否包含在列表中,可使用关键字in和not in。
5.2.7 布尔表达式
布尔表达式,是条件测试的别名。与条件表达式一样,布尔表达式的记过要么是True,要么是False。
5.3 if语句
理解条件测试后就可以开始编写if语句了。if语句有很多种,选择使用哪种取决于要测试的条件数。
5.3.1 简单的if语句
最简单的if语句只有一个测试和一个操作:
在第1行中,可包含任何条件测试,而紧跟在测试后面的缩进代码中,可执行任何操作。如果条件测试的结果是True,Python就会执行紧跟在if语句后面的代码;否则Python就会忽略这些代码。
5.3.2 if-else语句
如果①处的条件测试通过了,就执行第一个缩进的print语句块;如果测试结果为False,就执行②处的else代码块。
5.3.3 if-elif-else结构
经常需要检查超过两个的情形,为此可以使用Python提供的if-elif-else结构。Python只执行if-elif-else结构中的一个代码块,它依次检查每个条件测试,直到遇到通过了的条件测试,执行后面的代码,并跳过余下的测试。