天天看點

Python文法基礎_控制流語句_if、while、for前言 軟體環境 If 語句 While循環 for 循環 最後

1. if 語句:根據條件傳回的結果執行相應的代碼塊 

2. for 循環:通過周遊容器對象的索引來實作循環 

3. while 循環:根據條件傳回是否為true來判斷是否執行循環體 

在本篇中主要會介紹python中控制流語句,以及一些在應用上的經驗。

系統 

ubuntukylin 14.04

軟體 

python 2.7.6

ipython 4.0.0

文法格式:

1

2

3

4

5

6

if語句可以根據expression的bool值來執行相應的代碼組。需要注意的是,在python中并沒有switch..case語句來實作定值判斷。但是可以使用elif語句和‘ == ’來實作類似的效果。 

代碼組:以關鍵字開始的縮進相同的一組代碼組成的代碼塊。其中首行句末的 : 号辨別代碼塊的開始。即是在python文法中,以關鍵字為首的語句行中必須以 : 結尾。 

一個域值判斷的小例子:

7

8

9

10

11

12

output :

13

14

while語句需要根據expression的傳回值來判斷是否繼續執行循環。值得注意的是,為了避免永循環的出現,一般需要寫入控制循環次數或終止循環的條件。即是在循環過程中需要有expression == false的時候,而且當循環條件為false時,則執行else代碼塊。當然else語句是可選的,當else存在時通常會至少被執行一次,而且else代碼塊一般用于實作循環結束後的清理工作。同時while循環也可以使用下面的附加語句來實作循環中斷。

break語句會令語句流跳到循環體外,以此來提前終止循環,接着執行循環下面的語句。 

注意:通常結合if語句來實作:當滿足條件時,則退出循環。下面是一個小例子:

相對的,有時并不希望終止整個循環操作,而是希望提前結束本次循環,并接着執行下一次循環,這時可以使用continue語句。continue語句會跳過循環體中下面尚未執行的語句,轉到循環體結束點之前,接着執行expression,然後再進行下一次是否執行循環的判斷。這樣可以達到提高程式執行效率的效果。

15

16

17

18

上面的小例子會将1-100之間能被5整除的數字列印出來。

其中容器可以是list、tuple、dictionary、string等,本質上是利用for循環的疊代器iterator,來逐個周遊容器中的項目,并且逐一指派給疊代變量,然後執行代碼塊,直到周遊完成循環結束。

19

20

21

22

上面的例子使用了兩種周遊字典的方法。 

example1:先調用items( )将字典轉化為list和tuple的複合資料類型,再周遊每一個list中的tuple元素。 

example2:周遊dictionary的key,調用dic[key]擷取key映射的value。

python控制流語句具有非常強大的功能,例如:利用for循環來擷取檔案内容,實作ddictionary到string的轉換等等。尤其是for循環和list解析的特性會碰撞出非常有趣的火花。在往後的篇章裡我們一起去記錄。