詳解python3中的真值測試

2022-10-04 19:03:16 字數 2572 閱讀 8946

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 的的最小整數。...