編程的時候常常需要檢查一些條件,並據此決定採用什麼措施,在Python中,if語句常用來做判斷語句。
一、一個簡單的示例
二、條件測試
每條if語句核心是值爲True或False的表達式,這種表達式稱爲條件測試。Python根據條件測試的值爲True或者False來決定是否執行if語句中的代碼。如果值爲True就執行緊跟if語句後面的代碼,如果爲False則忽略這些代碼。
2.1 檢查是否相等
首先我們將一個變量賦值爲‘apple’,然後將他與另一個字符‘banana’比較是否相等,在很多編程語言中,使用兩個等號(==)來判斷等號兩邊是否相等,很顯然兩邊不相等,故Python返回False。
注意:Python檢查是否相等時,兩個大小寫不同的值被視爲不相等。
2.2 檢查是否不相等
和上一個類似,Python中使用符合(!=)來判斷兩邊是否不相等,如不相等就返回True,反之返回False。
2.3 比較數字
比較數字比較簡單,除了上面的比較相等和不相等之外,還可以有小於、小於等於、大於、大於等於等:
2.4 檢查多個條件
有時候你想同時檢查多個條件,比如你有時候需要兩個條件同時爲True才執行相應的操作,或者有時候你想只要有一個條件爲True就執行操作,在這種情況下,關鍵字and和or就可以派上用場了。
要檢查是否多個條件是否爲True,可使用關鍵字and將多個條件測試合而爲一,如果所有的條件測試都過了,則整個表達式爲True,反之如果至少有一個不滿足,則表達式爲False。
要檢查多個條件中只需要一個條件爲True就能夠通過條件測試,此時可以使用or關鍵字。
2.5 檢查特定值是否在包含在列表中
要判斷特定的值是否包含在列表中可以使用in關鍵字。
2.6 檢查特定值是否不包含在列表中
與上一個類似,用not in 關鍵字來判斷特定值是否不包含在列表中。
三、if語句
在瞭解條件測試之後,就可以編寫if語句了,if語句有多種,選擇哪種結構取決於測試的條件數。
3.1 簡單的if語句
最簡單的if語句只有一個條件測試和一個代碼塊,判斷爲True就執行代碼塊,否則忽略這些代碼。
在if語句中,縮進的作用和for循環一樣,如果條件測試通過就執行下面所以的縮進代碼行,否則就忽略它們。需要注意的是if語句末尾的冒號(:)不可省略。
3.2 if-else語句
經常需要在條件測試通過時執行一個操作而在不通過時執行另一個操作,在這種情況下就可以使用Python的if-else語句塊。
3.3 if-elif-else結構
如果遇到需要檢查超過兩個的情形,爲此可以使用Python使用的if-elif-else結構,Python只執行if-elif-else結構中的一個代碼塊,它依次檢查每個條件測試直到遇到通過了的條件測試,隨後Python將執行緊跟其後的代碼並跳過餘下測試。
3.4 使用多個elif代碼塊
可根據需要使用任意數量的elif代碼塊。看如下示例
注:
①在Python中並不要求if-elif結構後面必須有else代碼塊,在有些情況下else欲絕可以忽略!
②儘管if-elif-else功能強大,但是僅適用於只有一個條件滿足的情況。然而有時必須檢查你關心的所有條件,在這種情況下應該使用多個簡單的if語句而不是if-elif-else結構,在可能有多個條件都爲True的時候,你需要爲這些條件爲True時都採取相應的措施,這時if-elif-else就不適合了。