1. 真值測試
所謂真值測試,是指當一種型別物件出現在if或者while條件語句中時,物件值表現為true或者false。弄清楚各種情況下的真值對我們編寫程式有重要的意義。
對於乙個物件a,其真值定義為:
以if為例(while是等價的,不做贅述),定義函式truth_test(x)為:
def truth_test(x):
if x:
return true
else:
return false
2.物件的真值測試
一般而言,對於乙個物件,在滿足以下條件之一時,真值測試為false;否則真值測試為true。
(1)以下型別物件真值測試為真:
class x:
pass
(2)以下真值測試為假:
class y:
def __bool__(self):
return false
(3)以下真值測試為假:
class z:
def __len__(self):
return 0
進入python3指令碼環境,測試過程如下:
>>> class x:
... pass
...
>>> class y:
... def __bool__(self):
... return false
...
>>> class z:
... def __len__(self):
... return 0
...
>>> def truthmrvxuyckl_test(x):
... if x:
... return true
... else:
... return false
...
>>> x = x()
>>> y = y()
>>> z = z()
>>> truth_test(x)
true
>>> truth_test(y)
false
>>> truth_test(z)
false
>>>
3. 常見物件的真值
下面是常見的真值mrvxuyckl為false的情況:
進入python3指令碼環境,測試過程如下:
>>> truth_test(none)
false
>>> truth_test(false)
false
>>> truth_test(0)
false
>>> truth_test(0.0)
f>>> truth_test(0j) #複數
false
>>> truth_test(decimal(0)) #十進位制浮點數
false
>>> truth_test(fraction(0,1)) #分數
false
>>> truth_test(fraction(0,2)) #分數
false
>>> truth_test('www.cppcns.com')
false
>>> truth_test(())
false
>>> truth_test({})
false
>>> truth_test(set())
false
>>> truth_test(range(0)) #序列
false
>>> truth_test(range(2,2)) #序列
false
此外的其它取值,真值測試應當為true。
4.一些有意思的例子
下面是一些有意思的例子,原理不超出前面的解釋。
>>> if 1 and fraction(0,1):
... print(true)
... else:
... print(false)
...
false
>>> if 1 and ():
... print(true)
... else:
... print(false)
...
false
>>> if 1 and range(0):
... print(true)
... else:
... print(false)
...
false
>>> if 1 and none:
... print(true)
... else:
... print(false)
...
false
>>> if 1+2j and none:
... print(true)
... else:
... print(false)
...
false
本文標題: 詳解python3中的真值測試
本文位址:
python3中的真值測試
真值測試 所謂真值測試,是指當一種型別物件出現在if或者while條件語句中時,物件值表現為true或者false。弄清楚各種情況下的真值對我們編寫程式有重要的意義。對於乙個物件a,其真值定義為 true 如果函式truth test a 返回true。false 如果函式truth test a ...
python3字典詳解 python3中字典詳解
字典 dict 1.建立字典的幾種方式 class dict kwarg class dict iterable,kwarg 使用上面的方法構建字典 方法1構建字典 a dict one 1,two 2,three 3 a輸出結果 方法2構建字典 a dict a輸出結果 方法3構建字典 d dic...
詳解Python3中ceil 函式用法
描述 ceil x 函式返回乙個大於或等於 x 的的最小整數。語法以下是 ceil 方法的語法 import math math.ceil x 注意 ceil 是不能直接訪問的,需要匯入 math 模組,通過靜態物件呼叫該方法。引數x 數值表示式。返回值函式返回返回乙個大於或等於 x 的的最小整數。...