上QQ阅读APP看书,第一时间看更新
2.5 控制流
完成一件事情要有流程控制。例如,用洗衣机洗衣服有3个步骤:①把脏衣服放进洗衣机;②等洗衣机洗好衣服;③晾衣服。这是顺序控制结构。
顺序执行的代码采用相同的缩进,叫作一个代码块。Python没有像Java或者C#语言那样采用{}分隔代码块,而是采用代码缩进和冒号来区分代码之间的层次。
缩进的空格数量是可变的,但是所有代码块语句必须包含相同的缩进空格数量。NodePad++这样的文本编辑器支持选择多行代码后,按Tab键改变代码块的缩进格式。
控制流用根据运行时的情况来调整语句的执行顺序。流程控制语句可以分为条件语句和迭代语句。
2.5.1 if语句
当路径不存在时,就创建它,可以使用条件语句来实现。条件语句的一般形式如下:
例如,判断一个数是否是正数:
这里的if复合语句,首行以关键字开始,以冒号(:)结束。
使用关系运算符和条件运算符作为判断依据。关系运算符返回一个布尔值。关系运算符及其用法见表2-2。
表2-2 关系运算符及其用法
如果要针对多个值测试一个变量,则可以在if条件判断中使用一个集合:
2.5.2 循环
使用复印机复印一个证件,可以设定复制的份数。例如,复制3份。在Python中,可以使用for循环或者while循环实现多次重复执行一个代码块。
for循环可以遍历任何序列。例如,输出数组中的元素:
输出字符串中的字符:
因为Python 3中并不存在表示单个字符的数据类型,所以返回的变量c仍然是str类型。
输出字符串'banana'中每个字符出现的位置:
每一次在执行循环代码块之前,根据循环条件决定是否继续执行循环代码块,当满足循环条件时,继续执行循环体中的代码。在循环条件之前写上关键词while。这里的while就是“当”的意思。例如,当用户直接按回车键时退出循环: