0
点赞
收藏
分享

微信扫一扫

小甲鱼——python基础知识⑤:布尔类型、逻辑运算符(布尔运算)、短路逻辑与运算符优先级

敬亭阁主 2022-04-02 阅读 27
python

1、布尔类型

(1)true 、 false

①给出数值或者字符串,如何判断它是真还是假,直接使用bool()内置函数可以直接给出函数的结果

②无论什么内容,只要出现在引号里面的,都是字符串,对于字符串来说,只有空字符串的结果才是false,其他内容的结果都是true,哪怕引号里面只有一个空格,结果也是true;对于数值,只有等值于0的结果才是false,其他数值的结果都是true。总之,结果为true的情况很多,是false的情况却很少。

③几乎结果为false的所有情况: 定义为False的对象:None和False

值为0的数字类型:0, 0.0,0j(复数), Decimal(0), Fraction(0,1)

空的序列和集合:", (), [ ], { }, set(), range(0)

(2)实现 分支语句 | 循环语句 都要有一个条件:布尔类型的结果true或false。

 (3)布尔类型其实是特殊的整数类型

 2、逻辑运算符(也叫布尔运算)

(1)and : 左边和右边同时为True,结果为True

(2)or : 左边或右边其中一个为True,结果为True

(3)not : 如果操作数为True,结果为False

                 如果操作数为False,结果为True

(4)python中任何对象都能直接进行真值测试(测试该对象的布尔类型值为True或False),用于if或者while语句的条件判断,也可以做为布尔逻辑运算符的操作数。即出现一个操作数,会判断为True或者False;若出现两个操作数,两个操作数都是数值,结果就是数值;两个操作数都是字符串,结果就是字符串。

3、短路逻辑

从左往右,只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值。

               

1、and 要求两边的值同时为True,结果才能为True,左边3是True,要继续判断右边布尔类型值,所以右边的结果直接影响了最终结果,所以结果直接是右边的值。0的真值测试结果是False,在and里,只要出现一个False,结果一定是False(0)。

2、or 要求两边有一边或两边为True,那么结果肯定是True,所以当第一个操作数是True时,就是最后的结果。0是False,但or要求只要有一个True,最后结果就是True,这时右边直接决定结果。

 【先运算小括号的部分 :False or 0 or 4 or 6 or 9)→  4】

4、运算符优先级

优先级1 →  17,从低到高

 

 按优先级来运算,False or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9

False or 0 or 4 or 6 or 9   →     4

举报

相关推荐

0 条评论