溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python進(jìn)階之路 3.4.1 布爾值和布爾變量

發(fā)布時間:2020-05-28 17:12:07 來源:網(wǎng)絡(luò) 閱讀:304 作者:Python進(jìn)階 欄目:編程語言

3.4.1 布爾值和布爾變量

在講條件語句之前,首先應(yīng)該了解一下布爾(boolean)類型。條件語句(if)需要為其制定布爾值或布爾類型的變量,才能根據(jù)條件判斷是否要執(zhí)行指定代碼塊中的語句。布爾值只有兩個值:True和False,可以將這兩個值翻譯成"真"和"假"或者"1"和"0"。

現(xiàn)在已經(jīng)了解了布爾值是用來做什么的,但Python語言會將哪些值看作是布爾值呢?其實(shí)在Python語言中,每一種類型的值都可以被解釋成布爾類型的值。例如,下面的值都會被解釋成布爾值中的False。

None 0 "" () [] {}

這些值所涉及的數(shù)據(jù)類型有一些到現(xiàn)在為止并沒有講過(例如,[]表示長度為0的列表),不過也不用擔(dān)心,繼續(xù)跟我學(xué)下去,在后面的章節(jié)中會詳細(xì)講解這些數(shù)據(jù)類型。

如果在條件語句中使用上面的這些值,那么條件語句中的條件都會被解釋成False,也就是說,條件代碼塊中的語句不會被執(zhí)行。

在Python語言底層,會將布爾值True看作1,將布爾值False看作0,盡管從表面上看,True和1、False和0是完全不同的兩個值,但實(shí)際上,它們是相同的。可以在Python控制臺驗(yàn)證這一點(diǎn)。

>>> True == 1
True
>>> False == 0
True
>>> True + False + 20
21

很明顯,可以直接將True看成1,將False看成0,也可以直接將True和False當(dāng)成1和0用,所以True+False+20的計算結(jié)果是21。

另外,可以用bool函數(shù)將其他類型的值轉(zhuǎn)換為布爾類型的值。

>>> bool("")
False
>>> bool("Hello")
True
>>> bool([])
False
>>> bool([1,2,3])
True
>>> bool(20)
True
>>> bool('')
False

可以看到,在前面給出的幾個會被系統(tǒng)認(rèn)為是False的值,通過bool函數(shù)的轉(zhuǎn)換,會變成真正的布爾值。不過這些值是不能直接和布爾值比較的,例如,不能直接使用"[]==false",正確的做法是先用bool函數(shù)將其轉(zhuǎn)換為布爾值,然后在比較:

bool([]) == false

在前面的代碼中使用了"=="運(yùn)算符,這是邏輯運(yùn)算符,是二元運(yùn)算符,需要指定左右兩個操作數(shù)用于判斷兩個值是否相等,如果兩個操作數(shù)相等,運(yùn)算結(jié)果為True,否則為False。這個運(yùn)算符在后面的章節(jié)中會經(jīng)常用到,當(dāng)然,還有很多類似的運(yùn)算符,在講解條件語句時會一起介紹。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI