日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

Python中else怎么用?else的用法總結(jié)_python

作者:py_tester ? 更新時(shí)間: 2022-07-15 編程語(yǔ)言

關(guān)于else的用法總結(jié)

本文討論P(yáng)ython的for…else、while…else、try..except…else等語(yǔ)法

Python中的for、while是在循環(huán)體內(nèi)沒(méi)有break語(yǔ)句、沒(méi)有return語(yǔ)句,或者沒(méi)有異常出現(xiàn)時(shí)才執(zhí)行else語(yǔ)句,try..except…else是在try中無(wú)異常產(chǎn)生時(shí)執(zhí)行,注意不包括continue。

總的來(lái)說(shuō),是for、while、try語(yǔ)句中‘沒(méi)毛病’時(shí)才執(zhí)行,而在if..else語(yǔ)句中是if語(yǔ)句判斷為假(有毛病)才執(zhí)行else,這一點(diǎn)要區(qū)分開(kāi)來(lái)

下面舉例說(shuō)明下while..else作用,字符串有s1.find(s2)方法,作用是在字符串s1中查找s2,若找到就返回其索引值,不存在返回-1,但是列表卻沒(méi)find方法,以下用while…else語(yǔ)句實(shí)現(xiàn)list_find方法:

或者模擬list.index()的實(shí)現(xiàn):

最后關(guān)于try….except1..except2…else…finally的執(zhí)行順序:是try執(zhí)行完沒(méi)有任何問(wèn)題(即各個(gè)except語(yǔ)句均沒(méi)有捕獲到異常)時(shí),再去執(zhí)行else語(yǔ)句,最后執(zhí)行finally首尾工作,若執(zhí)行過(guò)程中只要有except捕獲到異常,就跳過(guò)else直接執(zhí)行finally;

你不知道的else用法

if-else

無(wú)論在哪個(gè)語(yǔ)言,if-else基本上都是通用的分支選擇結(jié)構(gòu)了。這里就簡(jiǎn)單介紹一下。

if 3%2==1:
? ? print("if")
else:
? ? print("else")

if-else 滿足if則進(jìn)入if語(yǔ)塊,否則進(jìn)入else語(yǔ)塊 if 和else 只有一個(gè)語(yǔ)塊代碼會(huì)被執(zhí)行。

for-else

for-else搭配使用,我也只是在python的學(xué)習(xí)過(guò)程中碰到過(guò)。通過(guò)測(cè)試用例來(lái)比較一下。

fruits=["apple","orange","pear"]
for item in fruits:
? ? if item=="apple":
? ? ? ? print("apple")
else:
? ? print("for-else")

↓↓↓

apple
for-else

這里for循環(huán)正常執(zhí)行結(jié)束,然后執(zhí)行了else語(yǔ)塊的代碼。

fruits=["apple","orange","pear"]
for item in fruits:
? ? if item=="apple":
? ? ? ? print("break")
? ? ? ? break
else:
? ? print("for-else")

↓↓↓

break

當(dāng)在for循環(huán)中執(zhí)行break語(yǔ)句跳出循環(huán)時(shí),else語(yǔ)塊沒(méi)有執(zhí)行。

即for-else搭配使用時(shí),for循環(huán)沒(méi)有因?yàn)閎reak語(yǔ)句跳出循環(huán),則會(huì)執(zhí)行else語(yǔ)句。

while-else

while-else與for-else類似,均為前面的循環(huán)正常結(jié)束時(shí)else語(yǔ)塊會(huì)被執(zhí)行。

i=5
while i>0:
? ? i=i-1
else:
? ? print("while-else")

↓↓↓

while-else

while語(yǔ)句正常執(zhí)行,當(dāng)while條件為false時(shí)結(jié)束while循環(huán),進(jìn)入else語(yǔ)塊。

i=5
while i>0:
? ? i=i-1
? ? if i==3:
? ? ? ? print("break")
? ? ? ? break
else:
? ? print("while-else")

↓↓↓

break

while語(yǔ)句因?yàn)閎reak語(yǔ)句跳出循環(huán),else語(yǔ)塊沒(méi)有被執(zhí)行。

while-else搭配使用時(shí),while循環(huán)沒(méi)有因?yàn)閎reak語(yǔ)句跳出循環(huán),則會(huì)執(zhí)行else語(yǔ)句

備注:上述例子的break不一定非得是break,只要能跳出當(dāng)前循環(huán)的語(yǔ)句都會(huì)跳出else語(yǔ)塊。else如果還有其他用法,請(qǐng)?jiān)谙路搅粞砸黄饘W(xué)習(xí)。

原文鏈接:https://blog.csdn.net/py_tester/article/details/78336226

欄目分類
最近更新