控制流是任何一个编程语言的重要组成部分。
比较运算
不同变量之间可以进行比较,而实现比较的具体方式就是使用比较运算符,比较运算符会返回布尔类型的结果。
使用示例代码如下:
a=10
b=17
print(a>b) #false
print(a<b) #true
字符串在比较时会依次获取字符串中的字符,然后通过内置的ord方法获取每个字符的Unicode编码并进行比较,如果相等则继续比较后续字符,直到字符不相等或整个字符串比较完才返回比较结果。示例如下:(字符a对应的Unicode编码比字符b小)
字符串型的变量无法直接与整型变量比较,需要进行类型转换,不同的类型转换形式会导致不同的结果。示例代码如下:
如果字符串中有非数字字符,此时使用int方法进行类型转换会报ValueError错误。这时,只能使用str方法将其他类型的变量转为字符串型后再进行比较。
计算机底层其实只支持二进制的加法运算,不过利用补码也可以让加法起到减法的效果。在有了加法与减法这两种基本运算操作后,其他运算都可以通过加法与减法实现,如乘法可以通过多次相加来实现。比较运算也一样,在计算机底层,比较运算其实就是两个二进制数据进行减法操作,如果结果等于0,则表示两数相等,反之则不相等。
在一些情景下,我们可以借鉴“使用减法做比较”的方式,比如,比较两个精度较高的小数,只要求差距小于0.0001就认为相等,那么该任务就可以通过减法来实现。
逻辑运算符
有时单个比较语句无法满足要求,此时就可以使用逻辑运算符。逻辑运算符可以有机地组合多个比较语句,从而构成一个大的比较语句。
使用时示例代码如下:
判断语句
通过if关键字构成判断语句,它通常由一条或多条语句的执行结果(True或False)来决定要执行的代码块。if直译为如果,if判断是指如果某个条件成立,那么就要做什么,否则就不做什么。
if关键字后接一条比较语句,比较的结果会返回布尔值,if判断会依据布尔值执行相应的代码块。如果布尔值为True,则直接执行if关键字下的代码块;如果为False,则执行else关键字后的代码块。如果想对多个条件进行判断,可以使用elif关键字;如果想一次判断多个条件,可以使用逻辑运算符将多个条件连接起来使用。
循环语句
循环语句可以多次执行相应的代码块,在Python中,可以使用while关键字与for关键字来实现循环。代码示例:
while关键字后会接一个条件语句,如果该语句返回True,则会继续执行循环体中的代码;否则跳过循环体,执行循环体外的代码。
为了避免进入无限循环,要注意循环体中条件变量的变化。如该情况,就会无限循环。
如果变量i在循环体中没有变化,变量i就永远小于100。
除了通过while关键字实现循环,还可以通过for关键字实现循环,语法为for…in…代码示例如下:
跳出循环
通过while或for关键字构建循环操作可以很方便地让计算机处理重复操作,但在某些情况下并不希望让所有的操作都执行循环操作。
break关键字会跳出整个循环,后续的循环逻辑不再执行。
与break关键字不同,continue关键字只会跳出当次循环,后续循环依旧执行。