到目前为止已经学习了Python的一些基础语法,可以对变量进行赋值,对数据进行比较等。但只有这些还不够,还要对程序流程进行控制,并确定在不同条件下执行不同的程序代码。本节学习Python中的控制语句,主要有如下几类控制语句。
if-else属于条件判断控制语句,可以通过该控制语句来判断表达式是否成立,并且可以对不同的结果进行分支处理。if-else语句的使用格式如下。
if express: statement to execute else: other statement to execute
上面的使用方式只是其中的一种,还可以只使用if语句,也可以使用多个if判断语句。具体相关示例如下。
for语句属于循环控制语句,可以用来控制循环遍历。例如,重复做一些相同或关联操作。for语句的使用格式如下。
for item in collection: statement to execute
for循环最常使用的一个场景就是遍历集合。例如,对字符串进行遍历的操作如下。
s = 'abc' for ch in s: print ch
上面代码执行的结果如下。
a b c
除了遍历字符串之外,还可以遍历列表、元组等。比较特殊的是,Python中无法直接遍历数字。要想遍历数字,需要先生成一个数字的列表,然后再遍历该列表。遍历数字的代码如下。
num = [1, 2, 3] for i in num: print i
上述代码执行后的结果如下。
1 2 3
while语句也属于循环控制语句,它的作用与for循环基本一致,只是在使用方式上有所区别。while语句的使用格式如下。
while express: statement to execute
while属于单一条件判断的循环,它不会去遍历集合的内容。while最常见的一种使用方式如下。
n = 1 while n < 5: print n
上述代码执行后的结果如下。
1 2 3 4
continue属于循环退出语句,即它只能在for或while循环中使用,其作用就是退出本次循环直接进入下次循环。例如,在遍历字符串时,打印其中所有的字母o,则其实现可以如下。
上述代码中,在for循环体内先判断本次循环的字母是否为o,如果不是则跳出本次循环而不再执行后面的语句,如果是则会继续执行后面的print语句。其执行结果如下。
o o
break语句也是循环退出语句,它也只能在for、while循环体内使用。而与continue不同的是,break语句会跳出当前所在的整个循环,直接执行当前循环之外的代码。同样的代码如果把continue替换为break其效果会截然不同。修改后的代码如下。
上述代码执行后不会输出任何内容,因为当第一次循环判断条件不满足时,就直接退出了整个循环,而不再继续遍历剩余的内容了。
pass语句是Python独有的语句,它的作用就是占用一个代码行使语法生效,而实际上pass语句不会做任何的事情。那么它在哪些场景可以用到呢?使用示例如下。
上述两个使用场景中,虽然pass语句没有做任何事情,但却是不可少的语句。因为一旦少了pass句就会在语法上有错误,pass语句就是为了语法有效而填充一个空白行。而其实这里的pass语句也可以使用print等其他无实质逻辑影响的语句替代。