Python之布爾類型
我們都說只有小孩子才做選擇,作為成年人管它對錯老子都要?。?!
所以編程的世界還是純真滴,計算機只講真假不談感情。
所以今天學習python中的一個重要類型布爾類型
布爾類型:只有兩個值,F(xiàn)alse或者True也就是假或者真
如果扔個數(shù)值250過去你說它是真是假,又或者我丟一個字符串"假"過去,那它是真是假?直接上代碼測試一下:
可以發(fā)現(xiàn)大部分都是True,F(xiàn)alse也是屈指可數(shù)的
結果為False的所有情況:
- 定義為False的對象:None和False
- 解釋:None表示一無所有,F(xiàn)alse則表示假
- 值為0的數(shù)字類型:0,0.0,0j,Decimal(0),F(xiàn)raction(0,1)
- 值為0的數(shù)字類型也是False,無論是整型、浮點數(shù)或者復數(shù)結局它都是一樣的,包含前面用到過的Decimal模塊里面的Decimal(0)以及Fraction(0,1)表示分子為0,分母為1的有理數(shù),只要它們最終的值為0,那么毫無疑問就是False
- 空的序列和集合:"",(),[],{},set(),range(0)
- 空的序列和集合可以理解為一個容器如果里面沒有任何東西那么它的結果就是False
幾乎在任何一門編程語言中,最重要的就是分支語句和循環(huán)語句,要實現(xiàn)分支語句和循環(huán)語句都要有一個條件,前面的文章舉例條件是比較運算符計算之后的結果
在Python中布爾類型還有一個小秘密,崔九八在這里給大家分享一下:
通過上面的代碼可以看到True與1相等,F(xiàn)alse與0相等,除法報錯,因為除數(shù)不能為0,所以就可以發(fā)現(xiàn)布爾類型其實就是特殊的整數(shù)類型
Python總共有三個邏輯運算符分別是and,or和not,邏輯運算也叫布爾運算,它的運算對象是布爾類型的對象,有了邏輯運算符,就可以將多個比較的結果合并在一起進行判斷了。
運算符 | 含義 |
and | 左邊和右邊同時為True,結果為True |
or | 左邊或右邊其中一個為True,結果為True |
not | 如果操作數(shù)為True,結果為False;如果操作數(shù)為False,結果為True |
and運算符
要求只要左右兩個操作數(shù)同時為True,那么結果才為True,只要任何一方是False,結果都為False。代碼如下:
or運算符
要求只需要其中一方為True,那么結果就為True,只有左右兩個操作數(shù)同時為False,結果才為False。代碼如下:
not運算符
只有一個操作數(shù),作用是得到一個和操作數(shù)相反的布爾類型值
由于Python的所有對象都支持真值測試(測試該對象的布爾類型值為True或者False),用于if或者while語句的條件判斷,也可以做為布爾邏輯運算符的操作數(shù)。
所以操作數(shù)事實上是支持任何對象的,它將對對象的真值測試結果進行邏輯運算,如果你給到的操作數(shù)是兩個數(shù)值,那么它的運算結果也是數(shù)值,代碼如下:
大家可以想一想Python為什么會這么選擇呢?
文章靈感來源:
https://www.bilibili.com/video/BV1c4411e77t/?p=10&spm_id_from=pageDriver&vd_source=ab33ce08435d295fd9ff199740f46a0e