最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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的用法的評論 (共 條)

分享到微博請遵守國家法律
达州市| 齐河县| 石棉县| 阿坝| 米脂县| 青川县| 鹤壁市| 锡林浩特市| 昌乐县| 永泰县| 滦平县| 石棉县| 安西县| 石首市| 唐海县| 芦溪县| 银川市| 河西区| 浦县| 巴马| 霍山县| 中江县| 广平县| 菏泽市| 清镇市| 阿荣旗| 徐汇区| 慈利县| 商南县| 平陆县| 上饶县| 满城县| 阿尔山市| 施秉县| 伊宁县| 安乡县| 灵寿县| 黄骅市| 咸宁市| 丹寨县| 沂南县|