美文网首页python初学者程序员首页投稿(暂停使用,暂停投稿)
跟我读python3文档:014_流程控制语句(4. More

跟我读python3文档:014_流程控制语句(4. More

作者: 咖喱py | 来源:发表于2017-08-29 11:47 被阅读114次

贯穿始终的理念:别废话,就是干!


往期回顾

  • 分片
  • 索引
  • 对象
  • 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语句的基本结构:

  1. while关键字
  2. 判断条件 #这里是a < 5
  3. 分号
  4. 缩进

我们先来说下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)就可以了,其他的全部是真值。
常见值如下,最好背下来,以后会经常用到:

  1. None
  2. False
  3. 任何数值类型的零,例如,0,0.0,0j
  4. 任何空值,例如,",(),[],set(), range(0)
    注意:''' ' 是不一样的。一个是空字符串;一个是空格字符串。我们上面说的空值是''这个,不是' '这个。

while语句就讲这么多。
自己试着在python解释器里(以后我们称为python交互环境)输入代码看看结果。试着改改上面的代码,比如改改判断条件。


4.4. break and continue Statements, and else Clauses on Loops

4.4小节就讲了三个关键字。

  1. break
  2. continue
  3. 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的区别~

相关文章

网友评论

本文标题:跟我读python3文档:014_流程控制语句(4. More

本文链接:https://www.haomeiwen.com/subject/vnwndxtx.html