Python 流程控制全记录

Python流程控制

Python编写的代码在执行流程上主要有:顺序执行、选择执行/分支执行、循环执行,顺序执行不需要特殊的语句处理,没有特殊情况时(选择,循环,函数调用等),程序就是逐条代码顺序执行的;选择执行和循环执行需要有专门的语法规则和语句来实现;函数也是有定义和调用语法。

Python选择语句也可以叫分支语句,起始本质上就是有条件的跳转语句。函数调用也有跳转现象。选择语句由 if…else语句实现。

Python循环语句包括:while循环,for in 循环。

Python 选择语句和while循环语句都需要 测试表达式的布尔值 True(真)和Flase(假)。

1.if语句

实现选择/分支跳转,可以实现条件执行,二选一,多选一功能。

语法如下:

图:if语法

要点:

1、if 必须小写

2、:必须有

3、elif 语句可选,可以没有,可以1个或者多个

4、else 分支可选,如果有必须放到最后

5、语句块要缩进,建议4个空格

6、if语句是多选一语句,只能有一个分支语句块被执行

7、if语句可嵌套

执行流程:

图:if执行流程

if 语句示例:

1、只有if语句

2、二选一

3、多选一

4、if 语句嵌套示例:

只看if嵌套,暂不考虑代码逻辑性

2、while循环语句

根据一定条件,重复的执行某条语句或多条语句。

while 循环语句语法:

图:while语法

说明:

1、while 必须小写,不能写错

2、表达式能够测试真值的合法表达式

3、:必须有(英文)

4、语句块必须缩进,建议相对while缩进4个空格

5、语句可以有一条,或者多条,不能没有,可以使用 pass语句占位

6、else:子句可选,如有必须有冒号,else和while对齐。

7、else:子句下的语句块必须缩进,建议相对else缩进4个空格,else:语句块可以有一条或者多条,不能没有,可使用pass占位

执行流程:

使用循环注意事项:

1、注意循环的终止条件

2、else:子句如果有,只要在真值测试表达式结果为假时才执行。

3、如果while循环中使用break跳出循环,则else子句下的语句块不被执行。

while语句示例:

while 循环可嵌套:

无限循环(死循环):

死循环一般是无限循环下去,有些情况下时需要的。另外无法预估循环终止条件时,也可以使用死循环,然后条件满足时使用break语句终止循环,或则结束程序。

如,打印前5个偶数可以使用:

3、for in 迭代循环语句

Python for in 循环用来遍历序列或可迭代对象的每一个元素,Python可迭代对象包括:字符串、列表、元组、字典dict、集合set、迭代器...

for in 循环语法:

说明:

1、for, in 均是小写因为字母

2、:必须由,英文符号

3、依次遍历可迭代对象中的对象(从第一个/组开始,逐个处理,直到处理完毕)

4、else子句,在所有对象处理完毕后执行else子句语句块,如果循环使用break跳出循环则else子句中的语句块不执行。

for in 循环示例:

4、range()函数

生成一个可迭代的整数序列对象。

说明:

1、range()函数返回一个range对象(可迭代)。

2、python3取消了xrange()函数,range()可实现xrange()功能。

3、start缺省是0

4、step缺省是1

5、start,stop,step可为正,也可为负;使用要合乎逻辑。

range()示例:

range 方法:

5、循环嵌套

1、while 循环,for in 循环都可以嵌套

2、while 循环,for in循环,if语句可以混合使用,相互嵌套

使用示例:

6、break语句与continue语句

break语句用于终止循环(while 循环,for in循环)。只要在循环中执行到break语句当前循环即立即结束,循环中break后面的语句将不执行。

break终止循环只能跳出当循环(一层)。

continue语终止本次循环,循环体内continue后面的语句不执行,执行下次循环。

1、while循环,执行continue后跳转到判断真值测试表达式

2、for in循环,终止本次循环,开始新循环,处理可迭代对象的下一个/组元素。

continue 语句示例:

break,continue语句示例:

示例2:

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180308A1Q93K00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券