最近剛接觸Python, 碰到了之前其他程式語言沒有的for-else語法,紀錄一下。
for-else的else內容,主要是執行完for之後會執行的。
例如:
輸出是:
1
2
3
4
End for
可以看見先執行完全部的print(n)之後,等for結束後再執行else內容。
如果for內有break跳出的話,不會執行else內容。
例如:
輸出是:
1
2
3
在n==4的時候break,所以沒有印4與5,並且else內容也沒印了。
那麼,for-else會用在什麼時候呢?目前想到的是,處理for都沒有想要的結果的時候。例如,我要在尋找某個數字,如果找到就印出來,沒找到就顯示找不到。
以前我會用這種寫法:
多一個flag紀錄是否有找到,並且在後面要有一個if-else判斷。
現在不需要,直接融合在一起:
另外,Python是很注重tab的語言,很多時候少了tab會有error或者出現不一樣的結果。for-else也是。
輸出是:
沒找到
沒找到
沒找到
我找到了4
else前面多了tab縮排,這時候會被判斷程if-else與法而不是for-else。
剛學python,只想到這樣,如果有更實用的方法可以提供喔!
沒有留言:
張貼留言