Task 05 條件Conditionals
IF 語句
IF Else 語句
IF-ELIF-ELSE語句
IF-ELSE推導式
def abs7(n)
return n if (n>=0) else -n
def abs7(n):
if n >=0:
return n
else:
return -n
MATCH-CASE語句
match subject:
case <pattern_1>
<action_1>
case <pattern_2>
<action_2>
case <patern_3>
<action_3>
case _:
<action_wildcard>
清晰的程式碼風格
- 否定條件(帶有else部分)
- 空白的if部分(可適當使用not)
- 用巢狀的if而不是and來判斷
- 使用if而不是else來控制
- 使用一些trick(如用算術邏輯來代替布林邏輯)
擴充01 程式碼風格/python規範Style
程式碼風格
風格介紹
- “修飾”的前提一定是跑通程式碼,也就是說你得先確保你的code沒有任何bug
- 這種“修飾”並不是強制的
縮排與換行
縮排
- 如果有開始定界符,其餘行的縮排需與開始定界符對其。
- 需要額外的4個空格(長度相當於一個Tap鍵),以區分開傳入引數,和其他內容。
- 空格一般用於新增以上這種縮排,Tap鍵一般用於保持行與行之間的一致性。
- 多句if語句銜接,需要一個額外的縮排,以區分其他內容。
換行
- 將所有行限制為最多79個字元。
- 一般語句接受“隱式”延續,但是with語句等不支援,需要使用反斜槓\來銜接
- 另一個這樣的例子是assert語句。
- 多行if語句的縮排。
- 通常不鼓勵使用複合語句(同一行上的多個語句)。
匯入規範
import 本地模組/包
- 當我們需要匯入本地自己分裝好的一些模組時,需要透過import來匯入。
- 如果我們需要在mi.py檔案中匯入同目錄下的m2.py檔案,直接匯入即可。
import Python庫的模組/包
python規範style
關於空格
- 緊接在圓括號,方括號或大括號內,不需要多餘空格;
- 在逗號,分號或冒號之前,尾隨逗號之後均不需要多餘空格;
- 在切片中,兩個冒號必須應用相同的間距;
- 緊接在起開始函式呼叫的引數列表的左括號之前,不需要多餘空格;
- 賦值(或其他)運算子周圍需要多個空格以使其與另一個運算子對其;
程式碼註釋
- 註釋就是對程式碼的解釋和說明,其目的是讓人們能夠更加輕鬆地瞭解程式碼。
- 註釋是編寫程式時,寫程式的人給一個語句,程式段,函式等的解釋或提示,能提高程式程式碼的可讀性。
- 在有處理邏輯的程式碼中,原始碼有效註釋量必須在20%以上。
- 單行註釋# 多行註釋‘’‘....'''或" " "...." " "
命名規則
- 變數名只能包含字母,數字和下劃線。變數可以字母或下劃線打頭,但不能以數字打頭。
- 變數名不能包含空格,但可使用下劃線來分隔其中的單詞。
命名規範
- 不要將python關鍵字和函式名用作變數,即不要使用python保留用於特殊用途的單詞。
- 變數名與函式名應簡短又具有描述性。