分支結構是程序選擇判斷,從而進行更復雜操做的基礎結構。Python程序中的分支結構,主要有if語句創建。javascript
程序中的判斷最多見的是使用操做關係符判斷兩個對象的關係,並據此獲得True或者False的返回結果在決定分支方向。所以在學習if分支前,咱們須要先學習一下Python中的關係操做符。java
簡單演示以下:python
>>> 1 > 2 False >>> 1 < 2 True >>> 1 <= 2 True >>> 1 >= 2 False >>> 1 == 1 True >>> 1 != 1 False >>> 0 == False#0和False是等價的 True >>> 1 == True#任何非0和非空的類型都是True True >>> "1" < "2"#字符串的比較大小是按照ASCII碼來比較的 True >>> "Python" < "python"#P的ASCII碼比p的小 True >>> "1" == "1"#相同字符判斷爲True True
字符串是逐位比較,兩個字符串第一位字符的ASCII碼誰大,字符串就大,再也不比較後面的;第一個字符相同就比第二個字符串,以此類推,須要注意的是空格的ascii碼是32,空(null)的ascii碼是0。bash
Python使用not、and、or保留字對條件進行邏輯運算和組合。編輯器
not表示單個條件的否關係,即某個條件爲True,則not True爲False,反之亦然;and表示多個條件的與關係,即只有全部的條件都爲True時,and所鏈接的整個表達式才爲True,不然都爲False;or表示多個條件的或關係,即只要有一個條件爲True,則or所鏈接的整個表達式就是True。學習
演示以下:ui
>>> not 1 False >>> False and True and True False >>> False or True or False True
用if保留字引導的語句創建。使用方法以下:spa
If <判斷表達式>: <語句塊>
程序根據判斷表達式的結果,即True或是False,來決定語句塊是否要執行。若是結果爲True,則執行語句塊,不然不執行。code
(程序演示較爲複雜,均默認採用IDLE編輯器演示)orm
演示以下:
if 1: print("第一條if語句被執行了") if 0: print("第二條if語句被執行了") #輸出結果只有第一條if語句的語句塊內容 第一條if語句被執行了
二分支結構是指兩個分支一定執行其中一個,由保留字if和else創建。使用方法以下:
If <判斷表達式>: <語句塊1> else: <語句塊2>
當判斷表達式中的結果爲True時,語句塊1會被執行,語句塊2不會被執行;當判斷表達式中的結果爲False時,語句塊2會被執行,語句塊1不會被執行。
演示以下:
a = eval(input("請輸入0或者1:")) if a: print("第一條if語句被執行了") else: print("第二條if語句被執行了") #輸入0時,輸出結果爲 請輸入0或者1:0 第二條if語句被執行了 #輸入1時,輸出結果爲 請輸入0或者1:1 第一條if語句被執行了
二分支結構還有一種很是簡潔的書寫方式,適合語句塊1和語句塊2都是很是簡單的表達式時使用,使用方法以下。
<表達式1> if <條件> else <表達式2>
演示以下:
a = eval(input("請輸入一個數字:")) take = "" if a%2 else "不" print("這個數字{}是一個奇數".format(take)) #輸入1時 請輸入一個數字:1 這個數字是一個奇數 #輸入2時 請輸入一個數字:2 這個數字不是一個奇數
在程序運行過程當中,可能並不僅有兩種狀況,所以單分支結構和二分支結構顯得不夠靈活。運用elif保留字便可應對程序中更加複雜的狀況,使用方法以下:
if <>: <> elif <>: <> … else: <>
其中,你能夠添加任意數量的elif分支。演示代碼以下:
a = eval(input("請輸入成績:")) if a < 60: print("對不起,你沒有及格") elif a < 75: print("恭喜及格了,但只是及格") elif a < 90: print("厲害,達到良好水平") else: print("太棒了,你優秀!")
在多分支結構中,elif的數量由本身的實際須要增減。且對else沒有強制要求,能夠不寫。當未寫else時,多分支結構最後的執行參考單分支結構。