python中可用于布尔测试的,如何在Python中使用布尔值?
Python中的布爾值是整數的子類。布爾構造函數-
bool
。bool類繼承自int類。
issubclass(bool,int) // will return True
isinstance(True,bool) , isinstance(False,bool) //they both True
True
和
False
是單例對象。它們將在應用程序的整個生命周期內保持相同的內存地址。當您鍵入
True
時, python內存管理器將檢查其地址并獲取值1。對于
False
, 其值為0。
您可以使用
is
(標識)或
==
(等于)運算符將任何布爾表達式與
True
或
False
進行比較。
int(True) == 1
int(False) == 0
但是請注意,
True
和1是不同的對象。您可以檢查:
id(True) == id(1) // will return False
您也可以輕松看到
True > False // returns true cause 1>0
任何整數運算都可以對布爾值進行運算。
True + True + True =3
Python中的所有對象都有一個關聯的真值。每個對象都有一個
True
值, 除了:
沒有
說謊的
任何數字類型均為0(0. 0.0. 0+0j等)
空序列(列表, 元組, 字符串)
空的顯示類型(字典, 館藏等)
一個實現
__bool__
或
__len__
方法并返回
False
或
0
的自定義類。
Python中的每個類都有由特殊實例方法定義的真值:
__bool__(self) OR
__len__
當您調用
bool(x)
時, python實際上
x.__bool__()
如果
x
實例沒有此方法, 它將執行
x.__len__()
如果不存在, 則默認值為
True
。
例如, 對于類
int
, 我們可以如下定義
bool
:
def __bool__(self):
return self != 0
對于布爾值(100),
100 !=0
將返回
True
。所以
布爾值(100)==true
您可以輕松檢查
bool(0)
是否為
False
。這樣, 對于int類的實例, 只有0將返回False。
另一個例子=bool([1,2,3])
[1,2,3]
沒有特定的方法
__bool__()
, 但是具有
__len__()
, 并且由于其長度大于0, 它將返回
True
。現在您可以了解為什么空白列表返回
False
。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的python中可用于布尔测试的,如何在Python中使用布尔值?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么清除电脑的运行记录如何删除电脑使用记
- 下一篇: 阳光的网名156个