【Python】python條件及迴圈語句__Python

來源:互聯網
上載者:User

1、條件陳述式

2、迴圈語句

3、迭代器

4、列表解析

5、產生器運算式


1、條件陳述式

最簡單的條件陳述式:

if expression:

     expr_true_suite

如上,if是關鍵字,expression是條件運算式,條件運算式支援多重條件判斷,可以用布爾操作符and、or和not串連,expr_true_suite是代碼塊,expression為true時執行,代碼塊如果只有一行,上面的整個條件陳述式便可全部寫到一行,但可讀性差。

帶elif和else的條件陳述式:

if expression1:

     expr1_true_suite

elif expression2:

     expr2_true_suite

elif expressionN:

     exprN_true_suite

else:

     none_of_the_above_suite

如上,文法同其它語言的條件陳述式類似,elif和else是可選的。

條件運算式實現三元操作符:

在C/C++中,三元操作符如下(E成立時執行X,否則執行Y)——

E ? X : Y

python類比的三元操作符——

(E and [X] or [Y])[0]

python三元操作符的實現——

X if E else Y


2、迴圈語句

while迴圈:

while expression:

     suite_to_repeat

for迴圈:

for iter_var in iterable:

     suite_to_repeat

for逐一查看可迭代對象iterable的所有元素,iter_var被設定為可迭代對象的當前元素。for迴圈可用於序列類型,包括字串、列表及元組,也可用於迭代器類型,迭代器對象有一個next()方法,調用後返回下一個條目,所有條目迭代完成後,迭代器引發一個StopIteration異常告訴程式迴圈結束,for語句在內部調用next()並捕獲異常。

break、continue、pass:

break語句結束當前迴圈,跳轉到下條語句。continue語句終止當前迴圈,嘗試下一次迭代。pass語句表示不做任何事情。

迴圈中的else:

在迴圈中也可以有else,這與C/C++不同,else字句只在迴圈正常完成後才會執行,也就是說break語句會跳過else塊。


3、迭代器

迭代器為類序列對象提供了一個類序列的介面,更巧妙的是,還可以迭代不是序列但表現出序列行為的對象,例如字典的key,一個檔案的行等等。對一個對象調用iter()就可以得到它的迭代器,一個實現了__iter__()next()方法的類也可以作為迭代器使用。itertools是與迭代器相關的一個模組。


4、列表解析

先來看一下列表解析的文法:

[expr for iter_var in iterable if cond_expr]

這個語句的核

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.