1. if 语句:根据条件返回的结果执行相应的代码块
2. for 循环:通过遍历容器对象的索引来实现循环
3. while 循环:根据条件返回是否为true来判断是否执行循环体
在本篇中主要会介绍python中控制流语句,以及一些在应用上的经验。
系统
ubuntukylin 14.04
软件
python 2.7.6
ipython 4.0.0
语法格式:
1
2
3
4
5
6
if语句可以根据expression的bool值来执行相应的代码组。需要注意的是,在python中并没有switch..case语句来实现定值判断。但是可以使用elif语句和‘ == ’来实现类似的效果。
代码组:以关键字开始的缩进相同的一组代码组成的代码块。其中首行句末的 : 号标识代码块的开始。即是在python语法中,以关键字为首的语句行中必须以 : 结尾。
一个域值判断的小例子:
7
8
9
10
11
12
output :
13
14
while语句需要根据expression的返回值来判断是否继续执行循环。值得注意的是,为了避免永循环的出现,一般需要写入控制循环次数或终止循环的条件。即是在循环过程中需要有expression == false的时候,而且当循环条件为false时,则执行else代码块。当然else语句是可选的,当else存在时通常会至少被执行一次,而且else代码块一般用于实现循环结束后的清理工作。同时while循环也可以使用下面的附加语句来实现循环中断。
break语句会令语句流跳到循环体外,以此来提前终止循环,接着执行循环下面的语句。
注意:通常结合if语句来实现:当满足条件时,则退出循环。下面是一个小例子:
相对的,有时并不希望终止整个循环操作,而是希望提前结束本次循环,并接着执行下一次循环,这时可以使用continue语句。continue语句会跳过循环体中下面尚未执行的语句,转到循环体结束点之前,接着执行expression,然后再进行下一次是否执行循环的判断。这样可以达到提高程序执行效率的效果。
15
16
17
18
上面的小例子会将1-100之间能被5整除的数字打印出来。
其中容器可以是list、tuple、dictionary、string等,本质上是利用for循环的迭代器iterator,来逐个遍历容器中的项目,并且逐一赋值给迭代变量,然后执行代码块,直到遍历完成循环结束。
19
20
21
22
上面的例子使用了两种遍历字典的方法。
example1:先调用items( )将字典转化为list和tuple的复合数据类型,再遍历每一个list中的tuple元素。
example2:遍历dictionary的key,调用dic[key]获取key映射的value。
python控制流语句具有非常强大的功能,例如:利用for循环来获取文件内容,实现ddictionary到string的转换等等。尤其是for循环和list解析的特性会碰撞出非常有趣的火花。在往后的篇章里我们一起去记录。