如有兴趣了解更多请关注我的个人博客https://07xiaohei.com/
(一)条件判断
根据条件的成立情况决定执行哪些代码。
(二)if条件判断
1. if语句格式:
if 条件表达式:
if成立后执行代码块
elif 条件表达式:
elif成立后执行代码块
elif 条件表达式:
elif成立后执行代码块
elif 条件表达式:
elif成立后执行代码块
…
else:
else成立后执行代码块
2. if条件语句的限制:
-
代码块:
代码块是一组代码作为的一个整体,其执行的选择是统一的(要么执行代码块,要么全部跳过),python作为解释性语言,对一个代码块不是逐个语句读取就解释的,而是读完一个代码块后统一解释一个代码块。
代码块是一种为代码分组的机制,其作用是组织代码。
代码块以缩进开始,直至代码恢复到之前的缩进级别时结束,该范围为代码块的作用域,一旦退出代码块范围就退出了作用域范围。
if判断条件为真时进入代码块,为假时跳过整个代码块。
-
多条件判断:
if语句中没有switch语句,因此只能使用elif作为多条件判断。
每次if语句只可能执行一个分支或者一个都不执行。
多个条件符合时,由于if语句是逐个分支判断的,所以只可能执行最上方的满足条件的分支。
-
嵌套:
将一个if语句嵌入到某个分支的代码块中即可完成嵌套。
python支持任意层次的if语句嵌套。
3. 条件表达式:
可以是一个单一的值或者变量,也可以是由运算符组成的复杂语句,形式不限。
整体作为一个布尔值被使用,是True和False的一个,判断可以等同于判断其真假。
4. 三目运算:
格式:exp1 if condition else exp2,exp1和exp2是两个表达是,condition是判断条件。
如果condition为真,执行exp1,如果为假就执行exp2
三目运算允许嵌套,嵌套内容相当于在else之后再进行一个三目运算。
(三)条件表达式的运算符
1. 比较运算符:
包括等于运算符==,不等于运算符!=,大于运算符>,小于运算符<,大于等于运算符>=、小于等于运算符<=六个基本运算符,另外还有is in两个特殊比较运算符
基本比较逻辑不再赘述(简单易懂),注意一下字符串的大小比较是一个个字符的比较即可。
如果想对汉字等特殊字符比较,更换编码格式即可(详见之前的博客)。
另外,注意Python允许范围比较,即用一个区间判断作为表达式。
-
is比较运算符:
is是Python身份运算符,用于判断两个对象的标识符是否相等(注意,Python中一切皆对象)。
实际上,is是用于比较左右两方的对应存储位置是否相同。
注意:None对象是一个单例类的实例,具有唯一的标识号,因此判断对象是否为None时,使用:
对象 is None判断其是否为None。
is的否定一般使用is not来表示,不使用not 对象 is …来表示。
-
in比较运算符:
in是Python的成员检测运算符,用于判断某个元素是否属于某个序列,序列可以是各种集合,包括字符串。
元素不一定必须是单个的,可以是另一个集合构成的元素,例如可以判断一个字符串是否是另一个字符串的子串。
2. 逻辑运算符:
包括与运算符and,或运算符or和非运算符not,其中运算优先级not>and>or,如果需要改变优先级,使用**()**来修改运算优先级。
-
and(逻辑与):
and可以对运算符两侧的表达式进行与运算,只有两侧的值均为True时,才会返回True,否则均返回False。
注意:与运算中,如果第一个表达式已经为False,则直接返回False,不会再判断第二个表达式。
-
or(逻辑或):
or可以对运算符两侧的表达式进行或运算,只有两侧的值均为False时,才会返回False,否则均返回True。
注意:或运算中,如果第一个表达式已经为True,则直接返回True,不会再判断第二个表达式。
-
not(逻辑非):
not可以对运算符右侧的表达式进行非运算,使其最后的布尔值取反。
注意:对非布尔值也可以进行与或运算,Python会将其当做布尔值运算,最终会返回原值。
与运算:如果第一个值是True,返回第二个值;如果第一个值是False,直接返回第一个值。
或运算:如果第一个值是False,返回第二个值;如果第一个值是True,直接返回第一个值。
(四)运行样例
value = 25
while(value >= 10):
if value > 20 :
print("value > 20")
value = 15
elif 15 <= value <= 20:
print("15 <= value <= 20")
value = 10
else:
print("value <15")
value = 5
#运行结果:
# value > 20
# 15 <= value <= 20
# value <15
val = 7
if val>5 and val <8:
print("val=%d"%val)
elif val>=8 and val<10:
print("val >=8, and val=%d"%val)
else:
print("val is no in range")
# 运行结果:
# val=10:
# val is no in range
# val =8:
# val >=8, and val=8
# val =7:
# val=7
r1 = 2 and 3
r2 = 0 and 4
r3 = 2 or 3
r4 = 0 or 4
print(r1,r2,r3,r4,sep='\n')
#运行结果:
# 3
# 0
# 2
# 4
更多的运行在实际中检验即可。
本文介绍了Python中的条件判断结构,包括if、elif和else语句的使用,强调了代码块的概念和缩进的重要性。还详细讲解了条件表达式,如比较运算符(==,!=,>,<,>=,<=)和逻辑运算符(and,or,not),以及三目运算的语法。文章通过示例代码展示了如何进行多条件判断和逻辑运算,并提醒读者注意is和in运算符的独特用法。
5513

被折叠的 条评论
为什么被折叠?



