python基础——条件判断
本文最后更新于:1 年前
¶(一)条件判断
根据条件的成立情况决定执行哪些代码。
¶(二)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,直接返回第一个值。
¶(四)运行样例
1 |
|
更多的运行在实际中检验即可。