if判斷句
它是由if開頭,隔一個以上的空白,然後接條件,再接一個冒號,然後斷行後要有固定的縮排,把要做的事情的區塊擠出來
把它想成中文就變成,如果條件成立的話,就做要做的事情。
Python沒有end if或end還有大括號這種東西,他是靠縮排,這是少數靠縮排來區分"區塊"的語法,這麼做有個好處就是強迫你要縮排,程式才容易看得懂,對於已經學過其它語言的人可能會不太習慣。
甚麼是縮排
所謂的縮排,就是指用一定數量的空白,將程式碼往右擠,形成整齊的巢狀結構,此一來很容易看得懂程式碼,但是在Python縮排被拿來當程判斷區塊的規則,所以你在Python不得不縮排。
ex.
-
-
-
- if 1+1 == 2:
- print u"如你所見,1+1等於2"
- print u"在同一縮排裡"
- print u"都被視為同樣的區塊"
- print u"也就是條件成立時會執行的程式碼區塊"
-
- a = 10
-
-
-
-
-
- if a == 10:
- print u"a等於10"
- print u"在區塊裡都要一樣的縮排長度"
-
-
-
- if a % 2 == 0:
- print u"a是2的倍數"
- print u"這一行一樣是同一個區塊"
如範例所示,Python用縮排來區分程式的區塊,雖然Python沒有規定縮排要幾個空白,但是最好一整個檔案裡的縮排都用一定的個數,避免突然用4個,另一個地方用2個,這樣會造成混亂,這個範例是為了示範錯誤的方式所以才這樣做,否則一般都是照這樣的慣例來做。
邏輯運算
有了判斷句之後,還有一個重要的地方,就是條件,這時候就用上邏輯運算了。
邏輯運算式:
| 運算 |
說明 |
| == |
相等,兩邊相等時為真 |
| != |
不相等,兩邊不相等時為真 |
| < |
小於,左邊小於右邊時為真 |
|
>
|
大於,左邊大於右邊時為真
|
| <= |
小於等於,左邊小於等於右邊時為真 |
| >= |
大於等於,右邊大於等於右邊時為真 |
| or |
或,左右兩邊只要有一個為真時為真 |
| and |
且,左右兩邊都要為真時為真 |
| not |
否定,右邊為真時為假,為假時為真 |
所謂的真就是指成立的意思,假也就是不成立的意思,而Python裡面有兩個字用來表示真和假,分別為True和False,要注意的是大小寫都要一樣。
else語法
"那沒有的話怎麼辦?",在程式語言裡就是else,else就是話裡面的否則,不成立時程式就會跳到else的區塊裡去執行。
ex.
-
-
- if 10 % 2 == 0 and 10 % 2 == 0:
- print u"10是2和5的倍數"
- else:
-
- print u"10不是2和5的倍數"
-
- a = 10
- b = 20
-
- if a > b:
- print u"a大於b"
-
- else:
-
- print u"a小於或等於b"
elif語法
有些時候,我們會針對一件事情想很多對策,如果前面的不行,那就換下一條,這樣一直下去,elif在程式語言裡就是這樣的角色,在其它語言裡通常是 else if,在Python被縮寫成elif。
如果同時成立怎麼辦?
因為這樣的判斷,或是以人的思考角度來看,都是先從上面考慮下來的,所以上面的會優先考慮,不成立時才往下考慮,因此當上面有任何一條成立時,這一整串判斷句就不會再往下看了,它做完它該做的工作時就跳到else的區塊外面繼續往下做了,總而言之,就是從上往下判斷,一成立就執行,然後跳出去,當上面全部都沒有一個成立時才會走到else。
ex.
-
-
-
- t = 4
-
-
- if t < 4:
- print u"冷死了,不想出門"
- print u"寧願躲在家裡"
-
-
- elif t > 4 and t < 15:
- print u"有點冷"
-
-
- elif t == 4:
- print u"夭壽喔,四度出去一定死的"
-
-
- else:
- print u"今天溫度還算好"