if 语句
- 一个简单示例
- 条件测试
- if 语句
- 设置 if 语句格式
一个简单示例
cars = ['audi', 'bmw', 'subaru', 'toyota']
for car in cars:
if car == 'bmw':
print(car.upper())
else:
print(car.title())
这个示例中的循环首先检查当前的汽车名是否是’bmw’。如果是,就以全大写的方式打印它;否则就以首字母大写的方式打印:
Audi
BMW
Subaru
Toyota
条件测试
每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试。
- 检查是否相等(在Python中检查是否相等时区分大小写)
car = 'bmw'
car == 'bmw'
True
car = 'audi'
car == 'bmw'
False
car = 'Audi'
car == 'audi'
False
- 检查是否不相等
word= 'a'
if word!= 'b':
print("False")
- 比较数字
>>> age = 19
>>> age < 21
True
>>> age <= 21
True
>>> age > 21
False
>>> age >= 21
False
- 检查多个条件
1 使用and检查
例如,要检查是否两个人都不小于21岁,可使用下面的测试:
>>> age_0 = 22
>>> age_1 = 18
>>> age_0 >= 21 and age_1 >= 21
False
>>> age_1 = 22
>>> age_0 >= 21 and age_1 >= 21
True
2 使用or检查
检查的条件是至少有一个人的年龄不小于21岁:
>>> age_0 = 22
>>> age_1 = 18
>>> age_0 >= 21 or age_1 >= 21
True
>>> age_0 = 18
>>> age_0 >= 21 or age_1 >= 21
False
- 检查特定值是否包含在列表中
>>> word = ['a', 'b', 'c']
>>> 'a' in word
True
>>> 'd' in word
False
- 检查特定值是否不包含在列表中
word= ['a', 'b', 'c']
user = 'd'
if user not in word:
print(user.title()) #
- 布尔表达式
布尔值通常用于记录条件,如游戏是否正在运行,或用户是否可以编辑网站的特定内容:
game_active = True
can_edit = False
if 语句
- 简单模板:
if conditional_test:
do something
- if-else 语句
age = 17
if age >= 18:
print("你比我大")
print("呜呜呜")
else:
print("你比我小")
print("哈哈哈")
你比我小
哈哈哈
- if-elif-else 结构
age = 12
if age < 4:
print("12<4")
elif age < 18:
print("12<18")
else:
print("666") #12<18
- 使用多个 elif 代码块
age = 12
if age < 4:
price = 0
elif age < 18:
price = 5
elif age < 65:
price = 10
else:
price = 5
print("你需要花费$" + str(price)) #你需要花费$5
- 省略 else 代码块
age = 12
if age < 4:
price = 0
elif age < 18:
price = 5
elif age < 65:
price = 10
elif age >= 65:
price = 5
print("你需要花费$" + str(price)) #你需要花费$5
- 测试多个条件
word = {'a', 'b', 'c'}
if 'a' in word:
print("A")
if 'b' in word:
print("B")
if 'c' in word:
print("C")
print("D")
A
B
C
D
总之,如果你只想执行一个代码块,就使用if-elif-else结构;如果要运行多个代码块,就使用一系列独立的if语句。
设置 if 语句的格式
本章的每个示例都展示了良好的格式设置习惯。在条件测试的格式设置方面,PEP 8提供的唯一建议是,在诸如==、>=和<=等比较运算符两边各添加一个空格,例如,if age < 4:要比if age<4:好。这样的空格不会影响Python对代码的解读,而只是让代码阅读起来更容易。