Python 條件句 – 條件句在編碼上隨處可見. 程式編碼就是一堆分別判斷情況, 再提出行動指令的邏輯. if為control flow 流程的必要元件, 即相當於人在思考時想”如果, 就這樣”的想法.
if為邏輯編程的基本元素
- if為邏輯的根本. 就好像一個人去計劃做一件事或對一件事作預備, 不可能無假設, 沒有如果這字眼, 不用if這字眼, 就無法把情況判斷, 分類, 也無沒寫程式. 總而言之, 學條件句為最基本而必要.
- 一個程式流可以由多個if條件句所形成. 用在分類上, 就好像水在樹底下自下而上流到葉, 如送信的機構, 會先把信送至一個國家的省總局, 再送至市, 再送至區, 再到確實的住處.
if的常見使用方法
- 一個條件句有三個元件, 一是variable, 二是比較項, 三是比較值(可為variable). 如 (x > 10), “x”為variable, “>”為比較邏輯, “10”為比較值, 其句意思為如果x大於10.
- 當中必須至少有一個variable, 因為variable可以使比較有一個當時的值, 才會作出有意義的比較. 如果不用variable, 用一個hardcode的值去比較, 如20 > 10, 20永遠比10大, 所以結果永遠true. (即(if(20>10) 是等如if (true))).
- 如果數值永遠為true, 那這句條件句根本多餘而不用寫, 因為這if的block必然會走, 直接寫block內的code就可以了.
- 如果永遠為false, 這code內的block永遠不會走, 所以條件句連同block內的code也可不用寫.
- 如果情況固定, 如用在一個界定問題上, 條件句內只用一個variable, 及hardcode一個值是會比較好, 因為簡單直觀而容易看. 如現在温度如果過了20度就開冷氣, 很直接而容易理解.
- 如果用兩個variable, 就會比較抽象, 但會有相對的彈性. 如現在温度如果過了設定A的度就開冷氣(可以有設定B, 設定C, 這可能由於有不同的設定者, 情景). 這對初學者來說會有點困難, 但相信一段短時間就可以習慣.
- 加上for loop, Array, Collection, Interface等, 混合應用可大大增強程序結構的簡潔, 並令Logic 可在Flow當中Block內重用.
if的常見使用例子
- 分辨情況: 一些像Guideline資料, 需要依據情況而作出極準確的回應(或一定要跟Rule). 例如: 航海程式, 根據由Sensor等收回來的信息如風向, 水流等, 分析情況, 對航員作出提示.
- 分類資料: 以前會用OCR scan信件, 再用邏輯樹分類(傳統AI)系統轉寄至不同部門等.
if的應用一覽表
而本篇暫時只以基礎介紹, 以下為一些例子顯示出 if 用法.
條件句condition 即條件句數值的條件句大多如下: |
i < 20 – 大於 i <= 20 – 大於及等如 i == 20 – 等如 i > 20 – 小於 i >= 20 – 小於及等如 |
句型 |
if condition: // block of code to be executed if the condition is True |
例子 |
if isTrue == true: # block of code to be executed if the condition is True if isTrue == false: # block of code to be executed if the condition is True |
等如 |
if isTrue: # block of code to be executed if the condition is True if not isTrue: # block of code to be executed if the condition is True |
if condition 1: # block of code to be executed if the condition is True elif condition 2: # block of code to be executed if the condition is True else: # block of code to be executed if the all other conditions is False |
如condition 1乎合條件, 行condition 1的block, 之後完結 如condition 1不乎合條件, 行condition 2, 若乎合條件, 行condition 2的block 如condition 2不乎合條件, 行else 的block, 完結 |
條件句加上 && (And) |
bnIsUsed = True; bestselling = True; if bnIsUsed == True & bnIsSelling == True: # block of code to be executed if the condition is True |
等如 |
bnIsUsed = True; bnIsSelling = True; if bnIsUsed & bnIsSelling: # block of code to be executed if the condition is True |
等如 |
bnIsUsed = True; bnIsSelling = True; if bnIsUsed: if bnIsSelling: # block of code to be executed if the condition is True |
等如意思是説, 如果bnIsUsed 及 bnIsSelling都是true 的話, 就會行Block. |
相關頁面:
Python 條件句 – 學會 if 的基礎用法 – 了解 Control Flow 的流程
Python 迴圈 – For Loop, For Each 迴圈的基礎用法 – 用BLOCK把CODE重用起來