每条if语句的核心都是一个值为Ture或者False的表达式,这种表达式成为条件测试。python根据Ture或者False来判断是否执行if语句后的代码块.
name = 'mike'
print(name == 'mike') #检查相等
print(name != 'jim') #检查不相等
print(name == 'Mike') #检查相等时区分大小写
print(name.lower() == 'mike') #检查相等时不区分大小写,只检查变量的值
#检查相等不相等字符串时时,在python中是区分大小写的,但倘若值相比较值,大小写无关紧要时,可如最后一行代码通过lower()全部化为小写进行比较.
条件语句中可包含各种数据比较如下例:
a = 18
b = 22
print(a == 18)
print(a == b)
print(a < b)
有时我们需要多个条件测试来进行判断,例如:我们可能需要多个条件测试都为True时才运行if语句后的代码,有时也只需要一个就行
a = 18
b = 22
print(a > 10 and b < 25) #关键字and需要多个条件测试都为哦Ture才能执行之后的代码
print((a > 16) and (b < 25)) #为增加可读性,将每个测试分别放在一对圆括号内
print(a > 20 or b < 25) #关键字or只需要多个条件测试中一个为Ture即可执行之后的代码
有时候我们需要在操作前检查列表是否包含特定的值。例如:用户注册前需要检查用户名是否已注册。这时我们使用关键字in/not in来判断特定值是否包含在列表/是否不包含在列表。
names = ['mike','jim','lily']
print('mike' in names)
print('jim' not in names)
布尔表达式是条件测试的别名,与条件测试一样结果只有Ture/False,布尔值常用于记录条件。
condition_1 = True
condition_2 = False
下表是几种条件判断常用操作符。
操作符 | 描述 |
---|---|
< | 小于 |
> | 大于 |
<= | 小于或等于 |
>= | 大于或等于 |
== | 等于,比较两个值是否相等 |
!= | 不等于 |
python中if语句一般形式如下
if condition1: #每个条件后要使用冒号:
statement_block_1 #python使用缩进划分语句块
elif condition2:
statement_block_2
else:
statement_block_3
有时我们需要检查列表中的特殊元素,然后根据结果来执行相应的代码。如下例所示:
names = ['Jack','Mike','Jim','Alice']
for name in names:
if name.lower() == 'jack':
print(name + ' is not on the inviation list.')
else:
print('Welcome to this banquet, ' + name)
if语句通常和for循环配合使用,python中的for循环通常用来遍历,对每一个元素都执行操作。
我们之前的操作都是在列表不为空的前提下执行,但通常情况下我们需要确定列表是否为空。如下例:
names = []
if names:
for name in names:
if name.lower() == 'jack':
print(name + ' is not on the inviation list.')
else:
print('Welcome to this banquet, ' + name)
else:
print('This invitation list is empty')
我们邀请客人来参加宴会时会有一个邀请名单,但实际参加时也会有一个受邀名单。在此时我们就能对邀请客人的情况有一个更清楚的了解。如下例:
names = ['mike','jim','alice','rose','moilly']
invited_names = ['jim','yule','rose']
for invited_name in invited_names:
if invited_name in names:
print( invited_name + ' Welcome to this banquet!')
else:
print('sorry,'+ invited_name + ' is not invited.')
print('Finish the check!')
本文参考书目:Python 编程 :从入门到实践 (第二版)/ (美) 埃里克•马瑟斯(Eric Matthes)著;袁国忠译