上一篇文章:Python數據類型——數值型詳解
【python&&數學】心形線
這是用Python結合數學函數畫出來的各種心形線。情人節快到了,可以拿來送給自己的女朋友喲。源碼來自GitHub:turtle-cardioid。
寫在前面:大家好!我是
ACfun
,我的暱稱來自兩個單詞Accepted
和fun
。由於最近在學習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,而是得到最後一個計算的表達式的值
例如我們在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,而是得到最後一個計算的表達式的值
>>> 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 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項目實戰視頻教程。這是一個免費的資料羣,不是博主建的嗷,但是資料很好,點擊此處 進來獲取一起進步哦!
參考資料:
- 中國大學生慕課——Python語言基礎與應用
- Python中的None與Null(空字符)的區別
- Python None(空值)及用法
未完待續,持續更新中……