5.1 一个简单示例
示例中的循环首先检查当前的汽车名是否是‘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
的表达式,这种表达式被称为条件测试。如果条件测试的值为True,Python就执行紧跟在if语句后面的代码;如果为False,Python就忽略这些代码。
5.2.1 检查是否相等
>>> car = 'bmw'
>>> car == 'bmw'
True
>>> car == 'audi'
False
5.2.2 检查字符串是否相等时不考虑大小写
>>> car = 'Audi'
>>> car.lower() == 'audi'
True
5.2.3 检查是否不相等
要判断两个值是否不等,可使用!=
:
>>> car != 'audi'
True
5.2.4 比较数字
>>> 3 > 5
False
>>> 3 >= 1
True
>>> 3 == 2
False
>>> 3 != 3
False
5.2.5 检查多个条件
1.使用and检查多个条件
要检查是否两个条件均为True,可使用关键字and:如果每个测试都通过了,整个表达式为True
;如果至少有一个测试没有通过,整个表达式为False
。
>>> 3 > 1 and 3 > 2
True
>>> 3 > 1 and 3 >= 5
False
2.使用or检查多个条件
只要有一个条件满足,表达式为True
。仅当两个测试都没有通过时,使用or的表达式才为False
。
>>> 3> 1 or 3 == 5
True
>>> 3 < 1 or 3 == 5
False
5.2.6 检查特定值是否包含在列表中
>>> arr = list(range(5))
>>> arr
[0, 1, 2, 3, 4]
>>> 2 in arr
True
>>> 5 in arr
False
5.2.7 检查特定值是否不在列表中
>>> 2 not in arr
False
>>> 5 not in arr
True
5.2.8 布尔表达式
布尔表达式的结果要么为True,要么为False,布尔值通常用于记录条件。
>>> game_start = True
>>> can_end = False
5.3 if语句
5.3.1 简单的if语句
>>> age = 18
>>> if age > 15:
... print('Hello!')
...
Hello!
5.3.2 if-else语句
>>> if age > 15:
... print('1')
... else:
... print('2')
...
1
5.3.3 if-elif-else结构
>>> age = 12
>>> if age < 4:
... print(1)
... elif age < 18:
... print(2)
... else:
... print(3)
...
2
5.3.4 使用多个elif结构
5.3.5 省略else代码块
5.3.6 测试多个条件
使用多个elif语句,当满足其中一个时会跳过其他条件,需要测试多个条件时需要使用多个if
5.4 使用if语句处理列表
5.4.1 检查特殊元素
>>> age = 5
>>> if age in arr:
... print('True')
... else:
... print('False')
...
False
5.4.2 确定列表不是空的
>>> if arr:
... print('列表不为空')
... else:
... print('列表为空')
...
列表不为空
5.4.3 使用多个列表
>>> for arr in arr_one:
... if arr in arr_two:
... arr_two.remove(arr)
...
>>> arr_two
[6]