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

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

分享到微博請遵守國家法律
铜梁县| 江孜县| 会泽县| 罗江县| 崇信县| 拜城县| 乃东县| 区。| 高清| 吴旗县| 浪卡子县| 北川| 永福县| 南召县| 隆昌县| 阿巴嘎旗| 秦安县| 平果县| 北宁市| 东源县| 巨鹿县| 永登县| 龙州县| 鄂州市| 县级市| 湛江市| 出国| 黑河市| 怀仁县| 柘城县| 潞西市| 三亚市| 河池市| 唐山市| 山东省| 桦川县| 方山县| 汝州市| 靖远县| 米林县| 于都县|