之前講了一堆資料結構,現在來講判斷式 if-else 怎麼用好了
If-else 的用法
在 C 語言裡面,if-else的寫法為:
1 | if(a) |
2 | { |
3 | printf(a); |
4 | } |
5 | else if(b) |
6 | { |
7 | printf(b); |
8 | } |
9 | else |
10 | { |
11 | printf("None"); |
12 | } |
就是有 () 和 {} 所包圍,但是 Python不用,他只有”:”
Python 寫久了 C 都會忘記加分號 = =
1 | if a: |
2 | print(a) |
3 | elif: |
4 | print(b) |
5 | else: |
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 正確!!:1
if a == True:
2
print('true')
3
if b == False:
4
print('false')
1
if a:
2
print('true')
3
if not b:
4
print('false')
- strings、lists、 tuples 等等的資料結構,當空的時候就是
false
所以不用判斷長度為0:
X 錯誤!!!!:O 正確!!:1
if len(data) == 0:
2
print('empty!')
1
if not data:
2
print('empty!')
- 和
None
比較要使用is
和is not
:
X 錯誤!!!!:O 正確!!:1
if a == None:
2
print('None!')
1
if a is None:
2
print('None!')
- 善用
in
:
有時候我們的 data 有可能要和很多東西做比較,會寫成這樣
X 錯誤!!!看起來就很醜= =1
if name == 'Mike' or name == 'Jenny' or name == 'Lulu':
2
print('yes')
不如試試用in
加上tuple
O 正確!!:1
if name in ('Mike','Jenny','Lulu'):
2
print('yes')
資料來源:
Python 學習筆記 系列
精通 Python:運用簡單的套件進行現代運算
Python 慣用語