之前講了一堆資料結構,現在來講判斷式 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 慣用語