Python中的條件判斷語(yǔ)句與循環(huán)語(yǔ)句用法小結(jié)
if語(yǔ)句
>>通用格式
if語(yǔ)句一般形式如下:
if <test1>: <statements1> elif <test2>: <statements2> else: <statements3>
另外需要注意的是,Python中是沒(méi)有switch/case語(yǔ)句的
while循環(huán)
while語(yǔ)句是Python語(yǔ)言中最通用的迭代結(jié)構(gòu),簡(jiǎn)而言之,只要頂端測(cè)試一直計(jì)算到真值,就會(huì)重復(fù)執(zhí)行一個(gè)語(yǔ)句塊。
>>一般格式
while <test>: <statements1> else: <statements2> >>break,continue,pass和循環(huán)else
break
跳出最近所在的循環(huán)(跳過(guò)整個(gè)循環(huán)語(yǔ)句)。
continue
跳到最近所在循環(huán)的開頭處(來(lái)到循環(huán)的首行)。
pass
什么事也不做,只是空占位符語(yǔ)句。
循環(huán)else塊
只有當(dāng)前循環(huán)正常離開時(shí)才會(huì)執(zhí)行(也就是沒(méi)有碰到break語(yǔ)句)
>>一般循環(huán)格式
加入break和continue語(yǔ)句后,while的一般格式變?yōu)?
while <test1>: <statements1> if <test2>:break if <test3>:continue else: <statements2> >>pass
pass語(yǔ)句是無(wú)運(yùn)算的占位符,當(dāng)語(yǔ)法需要語(yǔ)句并且還沒(méi)有任何實(shí)用的語(yǔ)句可寫時(shí),就可以使用它。
>>循環(huán)else
在while語(yǔ)句中加入else和C/C++中的語(yǔ)法不太一樣,這里詳細(xì)說(shuō)明一下。else后面的代碼只有當(dāng)循環(huán)正常結(jié)束時(shí)才會(huì)執(zhí)行,如果是用break跳出循環(huán)的,這部分代碼就不會(huì)運(yùn)行,具體看一個(gè)求質(zhì)數(shù)的例子:
x = y // 2 while x > 1: if y % x == 0: print(y,'has factor',x) break x -= 1 else: print(y,'is prime')
再看一個(gè)對(duì)比的例子,沒(méi)有使用else的情況:
found=False while x and not found: if (matchx[0]): print('Ni') found=True else: x=x[1:] if not found: print('not found') 使用else后的情況: while x: if (match(x[0])): print('Ni') break else: print('not found')
for循環(huán)
for循環(huán)在Python中是一個(gè)通用的序列迭代器:可以遍歷任何有序的序列對(duì)象內(nèi)元素。for語(yǔ)句可以用于字符串、列表、元組、其他內(nèi)置可迭代對(duì)象。
>>一般格式
for <target> in <object>: <statements> else: <statements>
此處的else的作用和while語(yǔ)句中的一樣。另外需要注意的是,當(dāng)Python運(yùn)行for循環(huán)時(shí),會(huì)逐個(gè)將序列對(duì)象中的元素賦值給目標(biāo),然后為每個(gè)元素執(zhí)行循環(huán)體。
編寫循環(huán)的技巧
內(nèi)置range函數(shù):返回一系列連續(xù)增加的整數(shù),可作為for中的索引
內(nèi)置zip函數(shù):返回并行元素的元組的列表,可用于在for中遍歷數(shù)個(gè)數(shù)列
>>循環(huán)計(jì)數(shù)器:while和range
range
當(dāng)range函數(shù)只有一個(gè)參數(shù)時(shí),會(huì)返回從零算起的整數(shù)列表,但其中不包括該參數(shù)的值。如果傳進(jìn)兩個(gè)參數(shù),那第一個(gè)參數(shù)是上邊界,第二個(gè)參數(shù)是下邊界。如果傳進(jìn)三個(gè)參數(shù)時(shí),第三個(gè)參數(shù)表示步進(jìn)值。
range提供了一種簡(jiǎn)單的方法,重復(fù)特定次數(shù)的動(dòng)作:
for i in range(5): print(i,'Pythons')
相應(yīng)的C++代碼則是:
int i; for(i = 0;i < 5;++i) { std::cout<<i<<"Python"; }
>>并行遍歷:zip和map
zip會(huì)取得一個(gè)或多個(gè)序列為參數(shù),然后返回元組的列表,將這些序列中的并排的元素配成對(duì)。
L1=[1,2,3,4] L2=[5,6,7,8] list(zip(L1,L2))
上述代碼的執(zhí)行結(jié)果是:
[(1,5),(2,6),(3,7),(4,8)]
當(dāng)參數(shù)的長(zhǎng)度不同時(shí),zip會(huì)以最短序列的長(zhǎng)度為準(zhǔn)來(lái)截?cái)嗨玫降脑M。
使用zip構(gòu)造字典:
keys=['spam','eggs','totast'] values=[1,2,5] D = dict(zip(keys,values))
>>產(chǎn)生偏移和元素:enumerate
enumerate函數(shù)一個(gè)比較新的內(nèi)置函數(shù),它能同時(shí)返回元素值和偏移值:
s='spam' for (offset,item) in enumerate(s): print(item,'appears at offset',offset)
相關(guān)文章
Pycharm Plugins加載失敗問(wèn)題解決方案
這篇文章主要介紹了Pycharm Plugins加載失敗問(wèn)題解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11Python實(shí)現(xiàn)基于二叉樹存儲(chǔ)結(jié)構(gòu)的堆排序算法示例
這篇文章主要介紹了Python實(shí)現(xiàn)基于二叉樹存儲(chǔ)結(jié)構(gòu)的堆排序算法,結(jié)合實(shí)例形式分析了Python二叉樹的定義、遍歷及堆排序算法相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-12-12python游戲?qū)崙?zhàn)項(xiàng)目之童年經(jīng)典超級(jí)瑪麗
史上十大最經(jīng)典小霸王游戲中魂斗羅只能排在第二,那么第一是誰(shuí)?最經(jīng)典最風(fēng)靡的當(dāng)屬超級(jí)瑪麗,那個(gè)戴帽子的大胡子穿著背帶褲的馬里奧哪個(gè)不認(rèn)得,小編帶你用python實(shí)現(xiàn)超級(jí)瑪麗緬懷童年2021-09-09關(guān)于Python內(nèi)存分配時(shí)的小秘密分享
這篇文章主要給大家分享介紹了關(guān)于Python內(nèi)存分配時(shí)的小秘密,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09python實(shí)現(xiàn)mp3文件播放的具體實(shí)現(xiàn)代碼
前段時(shí)間在搞一個(gè)基于python的語(yǔ)音助手,其中需要用到python播放音頻的功能,下面這篇文章主要給大家介紹了關(guān)于python實(shí)現(xiàn)mp3文件播放的具體實(shí)現(xiàn)代碼,需要的朋友可以參考下2023-05-05虛擬環(huán)境下搭建一個(gè)Django項(xiàng)目
這篇文章主要為大家介紹了虛擬環(huán)境下搭建一個(gè)Django項(xiàng)目的實(shí)現(xiàn)過(guò)程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05Python3簡(jiǎn)單爬蟲抓取網(wǎng)頁(yè)圖片代碼實(shí)例
這篇文章主要介紹了Python3簡(jiǎn)單爬蟲抓取網(wǎng)頁(yè)圖片代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08利用python爬取古詩(shī)文網(wǎng)中各類古詩(shī)的方法
這篇文章主要介紹了利用python爬取古詩(shī)文網(wǎng)中各類古詩(shī)的方法,文中通過(guò)代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-03-03