国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

【python小技巧3】else的用法

2023-01-02 20:21 作者:小倪同學(xué)0v0  | 我要投稿

說到 else,新手可能會(huì)說不就是?if - else 結(jié)構(gòu)嗎?你能想到幾個(gè)用法呢?

目錄

  1. if - else 結(jié)構(gòu)

  2. ... if ... else ... 結(jié)構(gòu)(條件表達(dá)式、三目運(yùn)算符、三元運(yùn)算符)

  3. for / while - else? 結(jié)構(gòu)

  4. try - except - else? 結(jié)構(gòu)

一、if - else 結(jié)構(gòu)

這個(gè)沒啥好說的,入門難度。

硬要說啥的話,就是 else 后面的冒號別漏了。

常見的分支結(jié)構(gòu)有:

  • 單分支:if

  • 雙分支:if - else

  • 多分支(無else):if - elif - ...

  • 多分支(有else):if - elif - ... - else

二、... if ... else ... 結(jié)構(gòu)(條件表達(dá)式、三元/目運(yùn)算符)

類似于C語言中的 cond ? a : b

如果僅僅是根據(jù)條件確定值的話,使用

不如

來的簡潔,而且可讀性更高,雖然它倆是完全等價(jià)的。

注意:條件表達(dá)式的運(yùn)算符優(yōu)先級較低,僅次于 lambda 匿名函數(shù)表達(dá)式,所以如果作為表達(dá)式的一部分出現(xiàn)時(shí),應(yīng)考慮要不要加括號
e.g.

三、for / while - else 結(jié)構(gòu)

It is executed when the loop terminates through exhaustion of the iterable (with for) or when the condition becomes false (with while), but not when the loop is terminated by a break statement.

——4.?More Control Flow Tools — Python 3.8.14 documentation

說人話就是循環(huán)自然結(jié)束時(shí)會(huì)執(zhí)行 else 里的代碼,被 break 終止循環(huán)時(shí)不會(huì)執(zhí)行。

以后會(huì)專門講?for?循環(huán)(挖坑*1)

四、try - except - else 結(jié)構(gòu)

最完整的處理異常結(jié)構(gòu)是

else 會(huì)在 try 語句塊內(nèi)沒有遇到異常時(shí)執(zhí)行

現(xiàn)在常見的一些組合包括:

  1. try - except - ...

  2. try - except - ... - finally

  3. try - finally

  4. try - except - ... - else

  5. try - except -?...?- else - finally

也就是說:else 和 finally 是可選的,try 和 except 是必須的,在有 finally 的時(shí)候 except 是可選的,但它們出現(xiàn)的順序必須是 try - except - else - finally

執(zhí)行順序:

  1. 先執(zhí)行 try 內(nèi)的代碼

  2. 如果遇到了異常,從上往下依次找符合哪個(gè)異常,考慮繼承關(guān)系(比如 TypeError 繼承自 Exception),只會(huì)執(zhí)行一個(gè) except 的代碼

  3. 如果沒遇到異常,則執(zhí)行 else 代碼塊

  4. 無論如何,都會(huì)執(zhí)行 finally 代碼塊,哪怕前面含有 return, break, continue 等

順帶提一句,永遠(yuǎn)不要寫:

這種代碼,最起碼寫個(gè)

至于為什么,以后有機(jī)會(huì)談(挖坑*2)

總結(jié):

  1. 分支語句中的 else 用于處理其余的情況

  2. 循環(huán)結(jié)構(gòu)中的 else 會(huì)在循環(huán)沒被 break 的時(shí)候執(zhí)行

  3. try 語句中的 else 會(huì)在沒遇到異常時(shí)執(zhí)行

END

參考資料:

https://docs.python.org/3.8/tutorial/controlflow.html

https://docs.python.org/3.8/reference/compound_stmts.html

以上內(nèi)容如有錯(cuò)誤,歡迎指出!


【python小技巧3】else的用法的評論 (共 條)

分享到微博請遵守國家法律
鄢陵县| 芦溪县| 开阳县| 苏尼特左旗| 祁东县| 喀什市| 桑植县| 台山市| 内乡县| 铜陵市| 井冈山市| 德清县| 澄城县| 金沙县| 辽阳县| 耿马| 五台县| 大丰市| 阜南县| 裕民县| 平武县| 泸州市| 巴彦县| 合作市| 东平县| 霞浦县| 广安市| 常山县| 西充县| 上虞市| 绍兴市| 收藏| 红河县| 太仓市| 敖汉旗| 滨州市| 宣化县| 尤溪县| 凤台县| 靖远县| 交口县|