计算机程序可以看做是一条一条顺序执行的代码,顺序结构是程序的基础,但是单一的顺序结构是无法解决所有的问题,因此需要引入控制结构来更改程序的执行顺序以满足多样的功能需求。
程序有三种基本结构组成:顺序结构,分支结构和循环结构。而分支与循环结构主要是通过条件判断(if),条件循环(while)和迭代循环(for)来实现。
条件判断(if - elif - else):
条件判断是一种分支结构,分支结构是程序根据条件判断的结果选择不同向前执行的路径的一种运行方式分支结构主要包括单分支和而分支结构,二分之结构组合形成多分支结构。
在python中,通过 if 语句实现分支功能,具体语法
if 判断语句1: 执行语句1elif 判断语句2:执行语句2…else: 执行语句
代码的书写如下
上述是一个简单的多分支结构,至于实际情况下具体使用哪种结构需要自行确定。
条件循环(while - break):
循环结构是根据条件判断的结果向后反复执行的一种运行方式,主要包括条件循环和迭代循环。
条件循环
迭代循环
在python中,条件循环主要通过关键字 while 实现, 具体语法
while 《》
代码的书写如下:
迭代循环(for):
迭代循环又称遍历循环,是指在给定的遍历结构中逐一提取元素,放在循环变量中的,因此与条件循环不同,迭代循环的循环次数在循环开始前就是已知的。具体语法:
for i in 循环体:循环语句这里的循环体可以是列表,元组,字符串,字典和range函数等
具体格式如下:
这里说明一下,在迭代循环中,循环变量是自己定义可以是任何值,在每次循环中,循环变量会变成本次循环中从循环体中提取的值,例如第一次循环,i变成了从li中提取的第一个元素1,所以a=0+1也就是1,后面循环皆是如此。
当然,这仅仅是对控制结构最为基础的介绍,下面会深入介绍一些内容,当然这里的深入依旧是浅尝辄止,如果你有兴趣,可以自己深入研究。
首先,无论是条件判断还是条件循环,它们都是要对给出条件进行判断,换而言之if和while判断的最终目的是判断True与False,也就是布尔值,当判断为True则执行后续代码,反之则不执行。当我们了解这个机制后,新手就会对许多代码恍然大悟,因为在python中布尔值不仅仅只出现在比较运算中,还出现在特定的条件下。最为简单的便是直接给条件定义布尔值,例如 条件循环中,while True,如果在没有其他条件的约束下,这个循环将会一直进行下去,也就是我们常说的死循环。因为while在最终得到的结果是布尔值True。还有在python中1默认为True,0默认为False;有值默认为True,无值默认为False。了解了这些,对于新手看代码会有巨大的帮助。
其次,在这三种语句中不是只有if条件判断才可以使用else语句,而是三种语句都可以使用,不同之处在于if条件判断的else执行是在所有判断结果均为False的情况下进行的,而while和for循环的else则是在循环结束后执行一次,换而言之,循环语句中的else是一定会执行的且只执行一次。
最后,对于循环结构来说,它们还有两个保留字,即break和continue,这是非常重要的内容。
break用来跳出最内层的for 和while循环,使其结束循环语句,执行循环代码后的内容。
continue是用来结束当前循环,进入循环语句的下一次循环。
这两个关键字通常与条件判断一起使用,目的是为了增强代码的灵活性。
例如在迭代循环中(for循环),每次循环我们会从循环结构中取出一个元素,但是其中有些元素我们不希望取到,这时候我们便可以采用continue进行处理。
同样,如果我们希望在特定的条件下结束所有循环,也就是或除了本次循环,在本次循环之后的所有循环全部不执行,那么便可以采用break进行处理。
以上便是我个人对于控制结构的一些理解,下一章我会介绍一下第三方库的使用,这也是这一系列文章的最后一篇,最近在学习django和爬虫,之后还要准备法考,所以以后可能其他一些python进阶的内容就不会写了。不过如果你有一些python方面的问题,欢迎大家和我一起交流。