条件语句的应用主要是结合比较运算符(第四天文章)进行使用,一般条件的判断返回的值为布尔类型,也就是True或False。接下来看实际应用。
一、判等
在Python中,使用==
运算符来判断两个值是否相等。这个运算符会比较两个值的内容,如果它们的内容相同,则返回 True,否则返回 False。例如:
a = 5
b = 9
if a == b:
print("a 等于 b")
else:
print("a 不等于 b")
上述代码会输出 a 不等于 b
,因为 a
和 b
的值不相等。
需要注意的是,在 Python 中,还有身份运算符也能够判等,只不过和==
运算符存在区别,==
运算符是判断两个值是否相等,而is
则是判断两个对象是否是同一个,也就是两个对象的内存地址是否相等。例如:
a = 1
b = 1
if a is b:
print("a和b是同一对象")
else:
print("a和b不是同一对象")
# 输出a和b是同一对象
print(id(a), id(b)) # 2547506833712 2547506833712
print(a is b) # True
二、不等于
不等于运算符!=
用于判断两个值是否不相等,是与==
相对的存在。当两个值不相等时返回True
,相等时返回False
,例如:
a = 5
b = 9
if a != b:
print("a 不等于 b")
else:
print("a 等于 b")
上述代码会输出 a 不等于 b
,因为 a
和 b
的值不相等。
需要注意的是,!=
运算符与 ==
运算符的优先级相同,而且比赋值运算符 =
的优先级低。因此,在使用 !=
时,应该先用括号将需要比较的表达式括起来,以免产生意想不到的结果。例如,下面的代码:
a = 5
b = 9
if a != b + 1:
print("a 不等于 b + 1")
else:
print("a 等于 b + 1")
会输出 a 不等于 b + 1
,因为括号里的表达式是 b + 1
,它会先被计算,然后再与 a
进行比较。
三、大于小于
大于
运算符>
用于判断一个值是否大于另一个值,其就是判断左边的值与右边的值的大小,如果左边大于右边则返回True
否则返回False
。
a = 5
b = 9
if b > a:
print("b 大于 a")
else:
print("b 不大于 a")
上述代码会输出 b 大于 a
,因为 9 大于 5。
需要注意的是,>
运算符的优先级比 ==
和 !=
高,但比算术运算符低。如果要使用多个运算符进行比较,应该使用括号将需要比较的表达式括起来,以免产生意想不到的结果。例如:
a = 5
b = 9
if (b + 1) > (a * 2):
print("b + 1 大于 a * 2")
else:
print("b + 1 不大于 a * 2")
上述代码会输出 b + 1 大于 a * 2
,因为括号里的表达式会先被计算,然后再进行比较。
小于
运算符<
用于判断一个值是否小于另一个值,其就是判断左边的值与右边的值的大小,如果左边小于右边则返回True
否则返回False
。例如:
a = 5
b = 9
if a < b:
print("a 小于 b")
else:
print("a 不小于 b")
上述代码会输出 a 小于 b
,因为 5 小于 9。
同样地,<
运算符的优先级比 ==
和 !=
高,但比算术运算符低。如果要使用多个运算符进行比较,应该使用括号将需要比较的表达式括起来,以免产生意想不到的结果。例如:
a = 5
b = 9
if (a + 1) < (b / 2):
print("a + 1 小于 b / 2")
else:
print("a + 1 不小于 b / 2")
上述代码会输出 a + 1 小于 b / 2
,因为括号里的表达式会先被计算,然后再进行比较。
四、大于等于与小于等于
大于等于
判断一个值是否大于等于另一个值的运算符是 >=
。如果左边的值大于等于右边的值则返回 True,否则返回 False。例如:
a = 5
b = 9
if b >= a:
print("b 大于等于 a")
else:
print("b 小于 a")
上述代码会输出 b 大于等于 a
,因为 9 大于等于 5。
需要注意的是,>=
运算符的优先级比 ==
和 !=
高,但比算术运算符低。如果要使用多个运算符进行比较,应该使用括号将需要比较的表达式括起来,以免产生意想不到的结果。例如:
a = 5
b = 9
if (b + 1) >= (a * 2):
print("b + 1 大于等于 a * 2")
else:
print("b + 1 小于 a * 2")
上述代码会输出 b + 1 大于等于 a * 2
,因为括号里的表达式会先被计算,然后再进行比较。
小于等于
判断一个值是否小于等于另一个值的运算符是 <=
。如果左边的值小于等于右边的值则返回 True,否则返回 False。例如:
a = 5
b = 9
if a <= b:
print("a 小于等于 b")
else:
print("a 大于 b")
上述代码会输出 a 小于等于 b
,因为 5 小于等于 9。
同样地,<=
运算符的优先级比 ==
和 !=
高,但比算术运算符低。如果要使用多个运算符进行比较,应该使用括号将需要比较的表达式括起来,以免产生意想不到的结果。例如:
a = 5
b = 9
if (a + 1) <= (b / 2):
print("a + 1 小于等于 b / 2")
else:
print("a + 1 大于 b / 2")
上述代码会输出 a + 1 小于等于 b / 2
,因为括号里的表达式会先被计算,然后再进行比较。
五、范围判断
在 Python 中,我们可以使用比较运算符判断一个值是否在某个范围内。比如,我们可以使用 <
和 >
运算符来判断一个值是否在某个范围内。例如:
x = 5
if x > 0 and x < 10:
print("x 在 0 到 10 之间")
else:
print("x 不在 0 到 10 之间")
上述代码利用了 Python 中的逻辑运算符 and
,用来连接两个比较运算符。当 x
的值在 0 到 10 之间时,输出 x 在 0 到 10 之间
,否则输出 x 不在 0 到 10 之间
。当然,上方代码还可以改写为不适用逻辑运算符的形式,如下:
x = 5
if 0 < x < 10:
print("x 在 0 到 10 之间")
else:
print("x 不在 0 到 10 之间")
除了使用 and
运算符外,还可以使用 or
运算符来进行多个范围的判断。例如:
x = 5
if x < 0 or x > 10:
print("x 不在 0 到 10 之间")
else:
print("x 在 0 到 10 之间")
上述代码使用了逻辑运算符 or
来连接两个比较运算符。当 x
的值不在 0 到 10 之间时,输出 x 不在 0 到 10 之间
,否则输出 x 在 0 到 10 之间
。
需要注意的是,在进行范围判断时,有时候需要用到括号来控制运算符的优先级。例如:
x = 5
if (x > 0 and x <= 5) or (x >= 10 and x < 15):
print("x 在 0 到 5 或 10 到 15 之间")
else:
print("x 不在 0 到 5 或 10 到 15 之间")
上述代码使用了括号来控制逻辑运算符的优先级,在判断范围时,需要满足两个条件中的一个,因此需要使用 or
运算符。
六、成员判断
除了判断值之外,还可以判断某某个成员是否包含了指定的元素,例如判断某一个字符(或字符串)是否包含于某一个字符串之中。如下
s = "so beautiful"
if "so" in s:
print("so" + "在字符串 so beautiful之中")
else:
print("so" + "不再在字符串 so beautiful之中")
上方代码输出为"so" + "在字符串 so beautiful之中"
。
其实,在条件语句中,使用的不论是比较运算符还是成员运算符或者是身份运算符,其关键就是这个条件是为真还是为假,当if中条件成立则进入到if代码块中执行,否则进入到下一条件判断(有elif的情况下),如果条件判断全部结束后仍然没有满足条件的情况,则最终进入到else中执行。