国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

淺談對python中if、elif、else的誤解

瀏覽:8日期:2022-07-13 14:26:52

今天下午在練習python時用了“if...if...else...”的分支結構,結果運行出來嚇我一跳。原來我想當然的認為“if...if...else...”是“if...elif...else...”的簡化結構(這個錯誤的看法好像還是從學C語言繼承過來的)。學了這么多天才發(fā)現(xiàn)其中的區(qū)別啊。下面先說說python,然后再說一下C語言里面的if語句。

“python中通過if、elif、else等保留字提供單分支、二分支和多分支結構。”

1.單分支結構(if語句)

if<條件>: <語句塊>

2. 二分支結構(if-else語句)

if <條件>: <語句塊1>else : <語句塊2>

3.多分支結構(if-elif-else語句)(else可選)

if <條件1> : <語句塊1>elif <條件2> : <語句塊2>...else : <語句塊N>

因此如果依次寫了幾個“if語句”,沒有else或者elif,那么每個“if語句”都將會被評估一遍,結果為True的條件下面的語句塊都會被執(zhí)行。同樣如果你寫了幾個“if語句”,然后在最后寫了一個else,那也只能被認為是幾個單分支結構然后并列了一個二分支結構,而不是一個多分支結構。因此在運行的時候,除最后一個if外,前面的“if語句”都將會被執(zhí)行一次,然后再執(zhí)行最后的“if-else”這個二分支。而這個else恰好又是除最后一個if條件的補集,一般包含前面某個if語句的條件,因此else下面的語句塊可能會被執(zhí)行,而不會達到“if-elif-else”只取其一的效果。所以才會有我今天下午的吃驚!

我用一個簡單的代碼來對比一下這個結果:

第一幅圖執(zhí)行完第一個“if語句”,又執(zhí)行了下面的“if-else”;第三幅圖則是一個多分支,判斷第一個條件結果為True后,執(zhí)行下面的語句塊,結束后跳出整個“if-elif-else”結構,運行結果正確。

淺談對python中if、elif、else的誤解

在C語言里類似的結構好像被稱為選擇結構,最常用的有以下三種形式:

(1) if(表達式) 語句1(2) if(表達式) 語句1 else 語句2(3) if(表達式1) 語句1 else if(表達式2) 語句2 else if(表達式3) 語句3 . . . else if(表達式m) 語句m else 語句m+1

用法和python的單分支、二分支、多分支類似,所以說我從學C語言的時候這個地方就搞混了。

到此這篇關于淺談對python中if、elif、else的誤解的文章就介紹到這了,更多相關python中if、elif、else內容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 郁南县| 大英县| 巴彦淖尔市| 平乐县| 吉首市| 宣化县| 兖州市| 海原县| 株洲市| 天柱县| 蛟河市| 红原县| 永年县| 苍溪县| 博野县| 桦南县| 稷山县| 海淀区| 木里| 黑山县| 新野县| 天峨县| 南阳市| 罗山县| 剑河县| 科技| 桦川县| 萨迦县| 阿尔山市| 盐山县| 井研县| 雷山县| 长兴县| 沙坪坝区| 石门县| 武隆县| 宁津县| 屯门区| 尼勒克县| 雷山县| 巩义市|