Python數據類型——邏輯值詳解

上一篇文章:Python數據類型——數值型詳解

【python&&數學】心形線

 這是用Python結合數學函數畫出來的各種心形線。情人節快到了,可以拿來送給自己的女朋友喲。源碼來自GitHub:turtle-cardioid

 寫在前面:大家好!我是ACfun,我的暱稱來自兩個單詞Acceptedfun。由於最近在學習python,學了一遍感覺不是特別條理,所以我想整理一個有關python基礎的系列的文章。希望自己通過這次的整理可以對python有一個較爲清晰的理解和認識。如果有不足或者的錯誤的地方歡迎在評論區或者私信我指正,感謝大家的不吝賜教。我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/。非常感謝大家的支持。
用知識改變命運,用知識成就未來。加油 (ง •̀o•́)ง (ง •̀o•́)ง

本篇簡介

 在上一篇博客:Python數據類型——數值型詳解 中介紹了Python數據類型中數值型部分。本篇我們來一塊學習一下Python數值類型的邏輯值與字符串部分。

邏輯值

邏輯(bool)類型簡介

 bool表示布爾型變量,也就是邏輯型變量的定義符,以英國數學家、布爾代數的奠基人喬治·布爾(George Boole)命名。喬治·布爾發明了邏輯值以及邏輯值之間的運算體系。
bool僅包含真(True)/假(False)兩個值,0爲False,非0爲True。(例如-1和2都是True),在邏輯值運算中爲:非真既假

注意:光理論是不夠的,在此送大家一套2020最新Python全棧實戰視頻教程。發現了一個免費的資料羣,不是博主建的嗷,但是資料很好,點擊此處 進來獲取一起進步哦!

判斷與真值

 邏輯類型經常用來配合if/while等語句進行條件判斷,如果邏輯值爲真,那麼控制流會做相應的操作;邏輯值爲假,則會做另一種操作。
條件判斷

邏輯運算

邏輯運算又稱布爾運算。布爾用數學方法研究邏輯問題,成功地建立了邏輯演算。布爾邏輯運算符 and, or 和 not 都是 Python 關鍵字,這些運算符的優先級按從高到低的順序。not 運算符擁有最高優先級,只比所有比較運算符低一級。 and 和 or 運算符則相應的再低一級。and 和 or是雙目運算,由兩個表達式進行運算。not是單目運算,作用於一個邏輯值的運算,而且not 要放在邏輯值的前面。
邏輯運算符的優先級

與(and)運算

 and連接的值需要同時爲真,計算結果才爲真,否則得到的結果就爲假。and具有惰性求值或邏輯短路的特點,當連接多個表達式時只需計算必須要計算的值。我們可以這樣理解,就是expr1 and expr2,如果表達式expr1的值爲假,那麼後面的表達式expr2不會被計算到,這個表達式的內容直接爲假。如果expr1爲真,那麼計算機會繼續判斷後面的expr2是否爲真,如果爲真,那麼表達式爲真。另外要注意:and並不一定會返回True或者False,而是得到最後一個計算的表達式的值

and真值表
 例如我們在Python自帶的shell中計算一下不同表達式的值。我們這裏直接將每個表達式的結果記爲True或者False。

>>> True and True
True
>>> True and False
False
>>> False and True
False
>>> False and False
False
>>> 5 and 6
6
>>> True and 5
5
>>> False and 5
False
>>> 1 and False
False
>>> True and True and False
False
>>> False and True and True and False
False

或(or)運算

 or連接的值只要有一個爲真,計算結果就爲真,全部爲假計算結果才爲假。同樣or也像and一樣具有惰性求值或邏輯短路的特點。or也不一定會返回True或者False,而是得到最後一個計算的表達式的值
or真值表

>>> True or True
True
>>> True or False
True
>>> False or True
True
>>> False or False
False
>>> 5 or 6
5
>>> False or 6
6
>>> False or True or True
True
>>> True or True or False
True
>>> False or False or False
False

非(not)運算

not只連接一個值,非真爲假,非假爲真。意思是not連接一個真值,那麼得到的結果就爲假;連接一個假值,結果就爲真。
not真值表

>>> not True
False
>>> not False
True
>>> not (True and False)
True
>>> not (True or False)
False
>>> not (False or False)
True

邏輯運算符的優先級

 and or not 三個運算符的優先級上面提到過一點,具體的優先級爲:

not 最高,and 次之,or 最低

在實際的編程中,我們建議使用括號來表示優先級,這樣可以使我們的代碼可讀性更高,比如上面的not 的例子。

各種類型對應的真值

 除了做條件判斷得到的邏輯值,其他的數據類型也可以得到真值。

  • 整數、浮點數和複數類型

0爲“假”,所有的非0的數值都是“真”

  • 字符串類型

空串("")爲假,所有的非空串爲真

  • 所有的序列類型(列表、元組以及上面所提到的字符串)

空序列爲假,所有的非空序列爲真。

  • 空值None

表示“無意義”、“沒有值”,也是假。None的值是一個空對象,空值是Python裏一個特殊的值,用None表示。None不能理解爲0,因爲0是有意義的,而None是一個特殊的空值。可以將None賦值給任何變量。如果我們將None賦值給一個對象,可以將其值置空。

>>> type(None)
<class 'NoneType'>
>>> type(0)
<class 'int'>

注意:最後送大家一套2020最新企業Pyhon項目實戰視頻教程。這是一個免費的資料羣,不是博主建的嗷,但是資料很好,點擊此處 進來獲取一起進步哦!

參考資料:


未完待續,持續更新中……
ha

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章