天天看點

python 文法糖_【Python文法糖】for/while...else...語句1. 什麼是文法糖?2. for/while...else...語句的用法

1. 什麼是文法糖?

文法糖(Syntactic sugar),是指那些沒有給計算機語言添加新功能,而隻是對coder來說更“甜蜜”的文法。文法糖往往給程式員提供了更簡潔、實用的寫代碼方式,有益于更好的代碼風格,更易讀。舉個簡單的例子,5 * 5 與 5 + 5 + 5 + 5 + 5等價。乘法并不是新的方法,而是建立在加法基礎上為了使加法更加簡便。這裡乘法就是一個"文法糖"。

python 文法糖_【Python文法糖】for/while...else...語句1. 什麼是文法糖?2. for/while...else...語句的用法

2. for/while...else...語句的用法

課程中,我們已經了解了if...else...語句的用法。在大部分語言中,else一般隻在條件判斷語句中出現。但是在python中,else除了能夠和if這樣的條件判斷一起出現外,還能出現在for、while這樣的循環語句中。

我們來看一個例子:給定一個數字清單,

如果清單中存在大于10的元素,輸出: 清單中存在大于10的元素

如果清單中不存在大于10的元素,輸出: 清單中不存在大于10的元素

代碼實作:

輸出結果:

上面的代碼中,利用for循環結構擷取了s清單中的每一個元素,然後又将其與10進行比較,如果該元素大于10就直接輸出‘清單中存在大于10的元素’字樣,然後終止循環。如果循環完了整個清單,都沒有發現大于10的數字,則輸出‘清單中不存在大于10的元素’字樣。為了實作這個目标,我們設定了一個額外的found變量來記錄是否找到了大于10的的元素,在循環完成後再做一個if判斷。

上面的寫法沒有問題,但是for...else...語句可以使我們的代碼更加簡潔清晰:

總結:for 中的語句和普通的沒有差別,else 中的語句會在循環正常執行完(即 for 不是通過 break 跳出而中斷的)的情況下執行,while ... else 也是一樣。