- 本教程为python3文档解读
- 本教程面向完全型小白,只要你会在电脑上打字,那你就可以看懂。
- 参考视频观看,味道更加:https://space.bilibili.com/186584185/#!/video
- 建议优先阅读本系列的《编程的本质》这一章节。
- 推荐阅读:《跟我读python3文档:016_带你手撕程序,展现一个函数如何从思路到实现》
贯穿始终的理念:别废话,就是干!
往期回顾:
- 分片
- 索引
- 对象
- for语句
- if语句
- range( )函数的返回值,以及三个参数
文档解读
python3文档第四小节链接地址:4. More Control Flow Tools
本章主要讲解4.4. break and continue Statements, and else Clauses on Loops(break和continue语句,以及循环中的else子句)和4.5. pass Statements(pass语句)这两个小节
在讲解4.4小节之前,先差一段while循环语句。
前几期我们学了for循环,知道他的作用主要是遍历可迭代对象。那有没有比较纯粹的循环呢?
答案就是while语句。
我们直接来看代码理解while语句:
>>> a = 1 #赋值
>>> while a < 5: #条件判断
··· print(a)
··· a = a + 1
···
1 #从这开始是输入结果
2
3
4
那么我们来分析下while语句的基本结构:
- while关键字
- 判断条件 #这里是a < 5
- 分号
- 缩进
我们先来说下while语句的执行顺序。
其实他和for语句差不多,都是重复执行缩进语句的内容。
首先看判断条件是否符合要求,如果符合,就执行缩进语句;缩进语句执行完毕之后,再去看判断条件(注意,判断条件里的a值在缩进语句中已经发生了改变,a增加了1。),如果依旧符合就再执行缩进语句,如此往复,直到不符合为止,退出while循环,执行之后的语句。
其实对于流程控制语句来说,判断条件的结果是最重要的。这要求构成判断条件的表达式必须有明确的返回值。
比如a<5,初始a=1,a<5成立,返回值为True;a不断累加,直到a=5时,a<5不成立,返回值为False。
注:如果不知道判断条件会返回什么值,可以自己试着在python解释器里输入看看。
>>> c = 1 > 2
>>> c
False
流程控制语句通过这个返回值来判断如何执行之后的语句。判断的结果被称为真或者假。如果是真,就执行流程控制语句块内的语句,之后再去判断返回值真假;如果是假,就跳过流程控制语句块,执行之后的语句。
真假是如何判定的呢?
判断返回值真假的这一步被称为真值测试(Truth Value Testing)
真值测试会把返回值归为两类:True或者False。
可以参考文档:《Built-in Types》的内容。
由于假值数量有限,所以我们只要记住有哪些返回值会被归为假值(False)就可以了,其他的全部是真值。
常见假值如下,最好背下来,以后会经常用到:
- None
- False
- 任何数值类型的零,例如,0,0.0,0j
- 任何空值,例如,",(),[],set(), range(0)
注意:'' 与 ' ' 是不一样的。一个是空字符串;一个是空格字符串。我们上面说的空值是''这个,不是' '这个。
while语句就讲这么多。
自己试着在python解释器里(以后我们称为python交互环境)输入代码看看结果。试着改改上面的代码,比如改改判断条件。
4.4. break and continue Statements, and else Clauses on Loops
4.4小节就讲了三个关键字。
- break
- continue
- else
else已经见过了,和if语句搭配着用的。
我们关键来看break和continue。
break
段落截取(一)
breaks out of the innermost enclosing for or while loop.
名词解释
loop 循环
段落大意
终止循环
我们还是直接上代码来看break的具体作用。
>>> a = 1
>>> while a < 10: #注意分号
... a = a + 1
... if a == 5: #注意缩进
... break #注意这里的缩进。
... print(a)
...
2 #从这里开始是输出结果
3
4
能理解了吗?break语句直接终止了循环。
continue
终止当前步骤,直接进入下一次循环。
我们也是直接上代码,请和break对比着看。
>>> a = 1
>>> while a < 10: #注意分号
... a = a + 1
... if a == 5: #注意缩进
... continue #注意这里的缩进。
... print(a)
...
2 #从这里开始是输出结果
3
4
6 #注意到了吗?没有5。
7
8
9
通过对比,能看明白他们的作用与区别吗?
如果看不懂,试着自己去读程序的执行顺序,多读几遍,其义自见。
4.5. pass Statements
中文意思:过!
就是字面的那个意思。
就像大型选秀节目,上来一个选手,pass;再上来一个,pass。。。。pass。
pass语句简单到基本上没啥可说的。。。
你可以理解为他就是用来充数的。。。
我们直接看例子:
>>> while True:
... pass
...
虽然程序一直在运行,但是什么也没有发生。。
思考题: 还记得如何终止正在运行的程序吗?
提示:快捷键。
今天就到这里。
好好理解下break和continue的区别~