概述
在Python中,不僅僅和類C一樣的真假類似,比如1代表真,0代表假。Python中的真假有著更加廣闊的含義範圍,Python會把所有的空資料結構視為假,比如[]
(空列表)、{}
(空集合)、''
(空字串)等,而與之相反的非空資料結構即為真
簡單對比程式碼:
# 遍歷列表中的示例元素,獲取對應的真假:
for elenment in ['', 'S', [], [1, 2], {}, {3, 'SSS'}, 0, 0.0, 1, None]:
if elenment:
print(elenment, True)
else:
print(elenment, False)
複製程式碼
示例結果:
False
S True
[] False
[1, 2] True
{} False
{'SSS', 3} True
0 False
0.0 False
1 True
None False
複製程式碼
None物件
在Python中None不僅僅代表False,它本身就是一個特殊的空物件,可以用來佔位,比如我們可以利用None實現類似C中定義陣列的方式,預定義列表的大小,實現對可能的索引進行賦值,而為賦值的索引都為None
L = [None] * 10
print(L)
複製程式碼
空列表定義結果
[None, None, None, None, None, None, None, None, None, None]
複製程式碼
布林(bool)值
在Python中布林值,True和False不僅僅可以表示真與假,甚至可以用於數學運算:
print(True+1)
print(False+1)
print(True+False)
複製程式碼
運算結果
2
1
1
複製程式碼
即True為1,False為0,為何Python中布林值可以進行數學運算? 我們可以利用isinstance
驗證其是否為整型:
print(isinstance(True, int))
print(isinstance(False, int))
複製程式碼
驗證結果:
True
True
複製程式碼
即實質上在Python中布林值本身是整型(int),即bool型別就是int型別的子類。