之前講了一堆資料結構,現在來講判斷式 if-else 怎麼用好了
If-else 的用法
在 C 語言裡面,if-else的寫法為:1if(a)2{3 printf(a);4}5else if(b)6{7 printf(b);8}9else10{11 printf("None");12}
就是有 () 和 {} 所包圍,但是 Python不用,他只有”:”
Python 寫久了 C 都會忘記加分號 = =1if a:2 print(a)3elif:4 print(b)5else:6 print("None")
尤其是 else if 的部分, Python 是寫成 elif,挺特別的。
Python 比較、Boolean運算子
與 C 語言做個比較:
| 運算子 | Pthon | C |
|---|---|---|
| 相等 | == | == |
| 不相等 | != | != |
| 大小於 | > < | >< |
| and | and | && |
| or | or | 兩條直槓 (好像會被md當作表格,無法表示) |
| not | not | ! |
| NULL | None | NULL |
Python 什麼時候會顯示 false:
- None
- ‘’ 空字串
- [] 空list
- {} 空dict
等等
If-else 慣用語
Python 有一些 官方比較建議的用法
- 不要與 True 和 False 做比較:
X 錯誤!!!!:O 正確!!:1if a == True:2print('true')3if b == False:4print('false')1if a:2print('true')3if not b:4print('false') - strings、lists、 tuples 等等的資料結構,當空的時候就是
false所以不用判斷長度為0:
X 錯誤!!!!:O 正確!!:1if len(data) == 0:2print('empty!')1if not data:2print('empty!') - 和
None比較要使用is和is not:
X 錯誤!!!!:O 正確!!:1if a == None:2print('None!')1if a is None:2print('None!') - 善用
in:
有時候我們的 data 有可能要和很多東西做比較,會寫成這樣
X 錯誤!!!看起來就很醜= =1if name == 'Mike' or name == 'Jenny' or name == 'Lulu':2print('yes')
不如試試用in加上tuple
O 正確!!:1if name in ('Mike','Jenny','Lulu'):2print('yes')資料來源:
Python 學習筆記 系列
精通 Python:運用簡單的套件進行現代運算
Python 慣用語