1、条件测试
if语句的核心是条件表达式,表达式的值为True或False,Python根据条件表达式的值为True还是False来决定是否执行if语句中的代码。如果表达式的值为True,则执行if语句的代码,否则不执行。
1.1 检查是否相等
>>> a = 'love'
>>> a == 'love'
True
>>> a == 'jin'
False
第一句的等号表示为变量赋值,第二句的两个等号表示判断是否相等。
检查时区分大小写:
>>> a = 'love'
>>> a == 'Love'
False
如果不想区分大小写,只想比较两个变量的值,可以将变量统一转换为大写或者小写,再进行比较:
>>> a = 'Love'
>>> a.lower() == 'love'
True
>>> a
'Love'
1.2 检查是否不等
要判断两个值是否不等,可以使用(!=):
>>> a = 'love'
>>> a != 'abcd'
True
1.3 比较数字
>>> age = 20
>>> age == 20
True
>>> age < 19
False
>>> age <= 21
True
>>> age > 18
True
>>> age >= 10
True
1.4 检查多个条件
- 使用and检查多个条件
只有当两个条件同时为True,表达式的结果才为True:
>>> a = 5
>>> b = 9
>>> a < 10 and b > 3
True
>>> a > 6 and b > 5
False
- 使用or检查多个条件
只要其中一个条件为True,表达式的结果就为True:
>>> a = 5
>>> b = 9
>>> a < 4 or b > 10
False
>>> a > 6 or b > 5
True
1.5 检查特定值是否包含在列表中
- 使用关键字in检查值是否在列表中:
>>> names = ['Peter','Mike','Jack','Rose','Lucy']
>>> 'Lily' in names
False
>>> 'Mike' in names
True
- 使用关键字not in检查值是否不在列表中:
>>> names = ['Peter','Mike','Jack','Rose','Lucy']
>>> 'Lily' not in names
True
>>> 'Mike' not in names
False
2、if语句
2.1 最简单的if语句
if语句中,如果条件测试的值为True,则执行if语句后面的代码,否则不执行。(注意缩进)
age = 21
if age >= 18:
print("You are an adult")
#结果:
You are an adult
2.2 if-else语句
有时需要在条件测试通过时执行一个操作,未通过时执行另一个操作,这时需要使用if-else语句。
age = 17
if age >= 18:
print("You are an adult.")
else:
print("You're not an adult.")
#结果:
You're not an adult.
如果条件测试为True,则执行if后面的语句,否则执行else后面的语句,在if-else语句中,总是会执行其中的一个。
2.3 if-elif-else结构
如果需要测试两个以上条件,可以使用if-elif-else结构:
age = 20
if age < 14:
print("free")
elif age < 18:
print("half")
else:
print("all")
#结果:
all
只有当第一个条件测试为False时,才会进行elif中的第二个测试,只有当前两个条件测试都为False时,才会执行else后面的代码。其中,可以使用多个elif,也可以缺省else代码块。
3、if语句处理列表
3.1 检查特殊元素
names = ['Jack','Rose','Lily','Mike']
for name in names:
if name == 'Lily':
print('Yes')
#结果:
Yes
3.2 检查列表是否为空
names = []
if names:
print('Yes')
else:
print('No')
#结果:
No
如果列表中至少有一个元素,则条件测试为True,否则为False。
3.3 检查特定值是否在列表中
nums = [3,2,9,10,8,6]
if 10 in nums:
print('Yes')
else:
print('No')
#结果:
Yes