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