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