Python基础(三)-控制流
布尔操作符
Boolean(布尔)的首字母大写,该类型只有两种值:True和False。
二元布尔操作符
and和or操作符总是接受两个布尔值(或表达式),所以它们被认为是二元
操作符。
如果两个布尔值都为True,and操作符就将表达式求值为True。
只有有一个布尔值为真,or操作符就将表达式求值为True。
和and和or不同,not操作符只作用于一个布尔值(或表达式)。not操作符求值为相反的布尔值。
比较操作符
“比较操作符”比较两个值,求值为一个布尔值。
请注意,整型或浮点型的值永远不会与字符串相等。另一方面,<、>、<=和>=操作符仅用于整型和浮点型值。
混合布尔和比较操作符
计算机将先求左边的表达式,然后再求值右边的表达式。知道两个布尔值侯,它又将整个表达式再求值为一个布尔值。
控制流的元素
条件
“条件”只是在控制流语句的上下文中更具体的名称。条件总是求值为一个布尔值,True或False。
代码块
一些代码行可以作为一组,放在“代码块”中。可以根据代码行的缩进,知道代码的开始和结束。代码块有3条规则:
-
缩进增加时,代码块开始;
-
代码块可以包含其他代码块;
-
缩进减少为零,或减少为外面包围代码块的缩进,代码块就结束了;
控制流语句
if语句
if语句含义:“如果条件为真,执行子句中的代码”。在Python中,if语句包含以下部分:
-
if关键字;
-
条件(即求值为True或False的表达式);
-
冒号;
-
在下一行开始,缩进的代码块(称为if子句);
所有控制流语句都以冒号结尾,后面跟着一个新的代码块(子句)。
else语句
else语句函数:“如果条件为真,执行这段代码。否则执行下一段代码。”else语句不包含条件,在代码中,else语句中包含下面部分:
-
else关键字;
-
冒号;
-
在下一行开始,缩进的代码块(称为else子句);
elif语句
它提供了另一个条件,仅在前面的条件为False时才检查该条件。在代码中,elif语句包含以下部分:
-
elif关键字;
-
条件(即求值为True或False的表达式);
-
冒号;
-
在下一行开始,缩进的代买块(称为elif子句);
elif语句的次序很重要。一旦找到一个True条件,剩余的子句就会自动跳过。
while循环语句
利用while语句,可以让一个代码一遍又一遍的执行。只要while语句的条件为True,while子句中的代码就会执行。在代码中,while语句总是包含下面几部分:
-
关键字;
-
条件(求值为True或False的表达式);
-
冒号;
-
从新行开始,缩进的代码块(称为while子句);
break语句
如果执行遇到break语句,就会马上退出while循环子句。在代码中,break语句仅包含break关键字。
continue语句
像break语句一样,continue语句用于循环内不。如果程序执行遇到continue语句,就会马上跳回到循环开始处,重新对循环条件求值。
for循环和range()函数
在条件为True时,while循环就会继续循环。for循环语句和range()函数来实现固定循环多少次。for循环总是包含以下部分:
-
for关键字;
-
一个变量名;
-
in关键字;
-
调用range()方法,最多传入3个参数;
-
冒号;
-
下一行开始,缩进代码块(称为for子句);
也可在循环中使用continue语句。continue语句将让for循环变量继续下一个值。
实际上,只能在while和for循环内部使用continue和break语句。
range()的开始、停止和步长参数
for i in range(12, 16): print(i)
第一个参数时for循环开始的值,第二个参数时上线,但不包含它,也就是循环停止的数字。
range()函数也可以有第三个参数。前两个参数分别时起始值和终止值,第三个参数时“步长”。步长时每次迭代侯循环变量增加的值。
for i in range(0, 10, 2): print(i)
“步长”也可以用负数作为步长参数,让循环技术逐渐减少,而不是增加。
用sys.exit()提前结束程序
当程序执行到指令的底部时,总是会种植。但是通过调用sys.exit()
函数,可以让程序终止或退出。因为这个函数在sys模块中,所以必须先导入sys。