讲条件判断之前,先将一个布尔型数据类型(布尔值)。
布尔值: 布尔值也是python的一种数据类型,它只有两种状态:True / False 。布尔值通常用来记录条件,因为它只有两种状态:True / False,True表示开启该属性,False表示关闭该属性。但是在条件判断的时候,True 就表示结果为真,False 就表示条件为假。
通常一些返回布尔值的表达式可以用作条件判断的表达式。
>>> 1 == 1
True
>>> 1 == 2
False
1 恒等于1 为真,python就返回 True,1 恒等于 2 为假,python就返回False,类似的表达式还有很多,它们包含一些数学比较符号:
数学比较符号:
符号 | 含义 |
---|---|
< | 小于号 |
<= | 小于等于号 |
|大于号
=|大于等于号
==|恒等号
这些数学比较符号能够将符号两端的数据进行比较并返回一个布尔值作为判断结果。
1、简单的 if 判断语句:
下面正式介绍 if 条件判断语句,请看下面的代码:
if 2 >= 1:
print("666")
输出结果:
666
if 是一个条件判断关键词,通过这个关键词,python会判断 if 后边的表达式的布尔值,如果布尔值为 True ,那么就执行冒号(:)后边的内容。如果为 False 就不执行,或者执行 else 后边的内容。
2、if - else 语句:
请看下面的代码:
if 2 == 1:
print("666")
else:
print ("888")
输出结果:
888
3、if - else 嵌套:
if - else语句可以进行嵌套,请看下面的语句:
a = 2
b = 3
if a == 1:
print ("111")
else:
if b == 2:
print ("222")
else:
print ("333")
输出结果:
333
当然这只是一层嵌套的示例,你当然可以嵌套多层,如果你需要的话。
4、使用 elif 简化结构:
上面的 if - else 语句可以进行简写,即使用 elif 语句替代 else:if ,请看下面的代码:
b = 3
if a == 1:
print ("111")
elif b == 2:
print ("222")
else:
print ("333")
输出结果:
333
每有一条 elif 语句你就能增加一条判断条件,你可以在需要时使用多个 elif 语句进行多次判断,执行不同的操作,这能在你进行多次条件判断时能够简化你的代码。
elif 后边并不一定要跟一个else,就像下边这样:
a = 1
if a > 10:
print ("a > 10")
elif a < 5:
print ("a < 5")
elif a < 2:
print ("a < 2")
elif a < 1:
print ("a < 1")
输出结果:
a < 5
从上边的代码可以看出,elif 后边可以不接 else ,python在判断一个条件成立后,就会执行其后边的操作,然后退出判断,不再进行下边的判断了。
5、使用 and 检测多个条件:
如果要检查两个条件是否都为 True,可以使用 and 关键字将两个测试条件合二为一。相当于离散数学中的 “与” 运算,当且仅当两变量都为真时,结果才为真。
请看下面的代码:
>>> 1 == 1 and 2 == 2
True
>>> 1 == 1 and 1 == 2
False
>>> 1 == 2 and 2 == 2
False
>>> 1 == 2 and 2 == 3
False
可以看到当 and 两端都为真时,python才会判定表达式为真。当然你也可以用多个 and 来连接多个表达式,当且仅当全部表达式为真时,合成表达式的值才为真。
6、使用 or 检查多个条件:
关键词 or 也可以检查多个条件,它与and相反,当且仅当所有的表达式为假时,其合成表达式才为假,它和离散数学的 “或” 运算的运算方式一致。也就是说,只要有一个条件满足,即合成条件被通过。
请看下面的代码:
>>> 1 == 1 or 2 == 2
True
>>> 1 == 1 or 2 == 3
True
>>> 1 == 2 or 2 == 2
True
>>> 1 == 2 or 2 == 3
False
or 关键词也支持使用多个,连接多个表达式,从而实现多个表达式的或运算。
if 与 and / or 连用时代码:
>>> if 1 == 1 and 2 == 3: print("666")
... else: print("888")
...
888
>>> if 1 == 1 or 2 == 3 or 3 == 4: print("666")
... else: print("888")
...
666
7、对列表进行使用
对列表直接进行使用可判断列表是否为空:
requested_toppings = []
if requested_toppings:
for requested_topping in requested_toppings:
print("Adding " + requested_topping + ".")
print("\nFinished making your pizza!")
else:
print("Are you sure you want a plain pizza?")
python返回:
Are you sure you want a plain pizza?
使用 in 或 not in 判断元素是否在列表内:
players = ['charles', 'martina', 'michael', 'florence', 'eli']
a = 'martina'
if a in players:
print(a)
if a not in players:
print('sorry')
python返回:
martina