- 本教程為python3文檔解讀
- 本教程面向完全型小白,只要你會在電腦上打字筷转,那你就可以看懂姑原。
- 參考視頻觀看,味道更加:https://space.bilibili.com/186584185/#!/video
- 建議優(yōu)先閱讀本系列的《編程的本質(zhì)》這一章節(jié)呜舒。
- 推薦閱讀:《跟我讀python3文檔:016_帶你手撕程序锭汛,展現(xiàn)一個函數(shù)如何從思路到實(shí)現(xiàn)》
貫穿始終的理念:別廢話,就是干袭蝗!
往期回顧:
- 分片
- 索引
- 對象
- for語句
- if語句
- range( )函數(shù)的返回值唤殴,以及三個參數(shù)
文檔解讀
python3文檔第四小節(jié)鏈接地址:4. More Control Flow Tools
本章主要講解4.4. break and continue Statements, and else Clauses on Loops(break和continue語句,以及循環(huán)中的else子句)和4.5. pass Statements(pass語句)這兩個小節(jié)
在講解4.4小節(jié)之前到腥,先差一段while循環(huán)語句朵逝。
前幾期我們學(xué)了for循環(huán),知道他的作用主要是遍歷可迭代對象乡范。那有沒有比較純粹的循環(huán)呢配名?
答案就是while語句。
我們直接來看代碼理解while語句:
>>> a = 1 #賦值
>>> while a < 5: #條件判斷
··· print(a)
··· a = a + 1
···
1 #從這開始是輸入結(jié)果
2
3
4
那么我們來分析下while語句的基本結(jié)構(gòu):
- while關(guān)鍵字
- 判斷條件 #這里是a < 5
- 分號
- 縮進(jìn)
我們先來說下while語句的執(zhí)行順序篓足。
其實(shí)他和for語句差不多,都是重復(fù)執(zhí)行縮進(jìn)語句的內(nèi)容闰蚕。
首先看判斷條件是否符合要求栈拖,如果符合,就執(zhí)行縮進(jìn)語句没陡;縮進(jìn)語句執(zhí)行完畢之后涩哟,再去看判斷條件(注意索赏,判斷條件里的a值在縮進(jìn)語句中已經(jīng)發(fā)生了改變,a增加了1。)贴彼,如果依舊符合就再執(zhí)行縮進(jìn)語句潜腻,如此往復(fù),直到不符合為止器仗,退出while循環(huán)融涣,執(zhí)行之后的語句。
其實(shí)對于流程控制語句來說精钮,判斷條件的結(jié)果是最重要的威鹿。這要求構(gòu)成判斷條件的表達(dá)式必須有明確的返回值。
比如a<5轨香,初始a=1忽你,a<5成立,返回值為True臂容;a不斷累加科雳,直到a=5時,a<5不成立脓杉,返回值為False糟秘。
注:如果不知道判斷條件會返回什么值,可以自己試著在python解釋器里輸入看看丽已。
>>> c = 1 > 2
>>> c
False
流程控制語句通過這個返回值來判斷如何執(zhí)行之后的語句蚌堵。判斷的結(jié)果被稱為真或者假。如果是真沛婴,就執(zhí)行流程控制語句塊內(nèi)的語句吼畏,之后再去判斷返回值真假;如果是假嘁灯,就跳過流程控制語句塊泻蚊,執(zhí)行之后的語句。
真假是如何判定的呢丑婿?
判斷返回值真假的這一步被稱為真值測試(Truth Value Testing)
真值測試會把返回值歸為兩類:True或者False性雄。
可以參考文檔:《Built-in Types》的內(nèi)容。
由于假值數(shù)量有限羹奉,所以我們只要記住有哪些返回值會被歸為假值(False)就可以了秒旋,其他的全部是真值。
常見假值如下诀拭,最好背下來迁筛,以后會經(jīng)常用到:
- None
- False
- 任何數(shù)值類型的零,例如耕挨,0细卧,0.0尉桩,0j
- 任何空值,例如贪庙,"蜘犁,(),[]止邮,set(), range(0)
注意:'' 與 ' ' 是不一樣的这橙。一個是空字符串;一個是空格字符串农尖。我們上面說的空值是''這個析恋,不是' '這個。
while語句就講這么多盛卡。
自己試著在python解釋器里(以后我們稱為python交互環(huán)境)輸入代碼看看結(jié)果助隧。試著改改上面的代碼,比如改改判斷條件滑沧。
4.4. break and continue Statements, and else Clauses on Loops
4.4小節(jié)就講了三個關(guān)鍵字并村。
- break
- continue
- else
else已經(jīng)見過了,和if語句搭配著用的滓技。
我們關(guān)鍵來看break和continue哩牍。
break
段落截取(一)
breaks out of the innermost enclosing for or while loop.
名詞解釋
loop 循環(huán)
段落大意
終止循環(huán)
我們還是直接上代碼來看break的具體作用令漂。
>>> a = 1
>>> while a < 10: #注意分號
... a = a + 1
... if a == 5: #注意縮進(jìn)
... break #注意這里的縮進(jìn)膝昆。
... print(a)
...
2 #從這里開始是輸出結(jié)果
3
4
能理解了嗎?break語句直接終止了循環(huán)叠必。
continue
終止當(dāng)前步驟荚孵,直接進(jìn)入下一次循環(huán)。
我們也是直接上代碼纬朝,請和break對比著看收叶。
>>> a = 1
>>> while a < 10: #注意分號
... a = a + 1
... if a == 5: #注意縮進(jìn)
... continue #注意這里的縮進(jìn)。
... print(a)
...
2 #從這里開始是輸出結(jié)果
3
4
6 #注意到了嗎共苛?沒有5判没。
7
8
9
通過對比,能看明白他們的作用與區(qū)別嗎隅茎?
如果看不懂澄峰,試著自己去讀程序的執(zhí)行順序,多讀幾遍辟犀,其義自見俏竞。
4.5. pass Statements
中文意思:過!
就是字面的那個意思。
就像大型選秀節(jié)目胞此,上來一個選手,pass跃捣;再上來一個漱牵,pass。疚漆。酣胀。。pass娶聘。
pass語句簡單到基本上沒啥可說的闻镶。。丸升。
你可以理解為他就是用來充數(shù)的铆农。。狡耻。
我們直接看例子:
>>> while True:
... pass
...
雖然程序一直在運(yùn)行墩剖,但是什么也沒有發(fā)生。夷狰。
思考題: 還記得如何終止正在運(yùn)行的程序嗎岭皂?
提示:快捷鍵。
今天就到這里沼头。
好好理解下break和continue的區(qū)別~