概述
在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類型的子類。
