#独家
关于Python逻辑运算中的逻辑短路

关于Python逻辑运算中的逻辑短路 关于Python逻辑运算中的逻辑短路本篇文章将介绍关于Python逻辑运算中的逻辑短路

首先要明确几个基本概念:

布尔值:

True——真,值为1;
False——假,值为0

(这里说明一下,在数字范围内(其他布尔实例自己百度),True是1,但不只有1是True,除0之外的所有数字都是True,那么为什么True是1不是2 3 4 5呢?这是因为计算机使用的是二进制,它只认识0和1,这点了解就好)

逻辑运算符:

and or not
·and:可以理解为数学上的“且”,是双目操作符(处理两个表达式),当and左右两边的表达式布尔值都为真时返回值为真,有一个是假的就返回假
·or:相当于数学中的“或”,是双目操作符,当or左右两边都为假时返回假,有一个为真的时候就返回真

·not:表示非,单目操作符,用法也很简单——非真既假,非假即真,not True为False, not False为True

——————————

·优先级:not > and > or

例如:1>2 and not 3<4 or 5<6 and 6<7
运算顺序是:将整体拆为(1>2 and not 3<4) or (5<6 and 6<7)
继续((1>2) and (not (3<4))) or ((5<6) and (6<7))
这样就一目了然了吧,结果是True

(逻辑操作符中的and和or也被称为短路操作符,它们的参数从左向右解析,一旦结果可以确定就停止。)

上面的情况是当逻辑操作符左右是表达式的时候会返回True或者False

而当他们左右两边是具体的值的时候,返回值就不是布尔类型的了,就是两个值中的某一个了,至于为什么?不需要太深入的了解,实在想要知道的话建议百度。

举个例子:
2 and 3 和0 and 1和4 and 0猜猜分别会返回什么?

答案是3,0,0,原因如下↓

and :x and y 返回的结果是决定表达式结果的值。如果 x 为真,则 y 决定结果,返回 y ;如果 x 为假,x 决定了结果为假,返回 x。

由于是短路操作符,是因为and运算符必须所有的运算数都是true才会把所有的运算数都解析,并且返回最后一个变量
————————————————
————————————————
再举个例子:1 or 2和0 or 3和4 or 0分别会返回什么?

答案是1,3,4,原因如下↓

or : x or y 逻辑(or),即只要有一个是true,即停止解析运算数,返回最近为true的变量
在上面1 or 2中 1已经是true了 所以直接返回1
在0 or 3中,0是False,所以要继续往后看,3是true所以返回三,其他类似(其实只要第一个是False,就会直接返回第二个的值)
——————————————
——————————
——————

做个简单的总结吧

·逻辑运算符and和or两边是表达式的时候
当用第一个表达式判断不出这个and语句的真假时,直接返回第二个表达式的布尔值,能判断真假时直接返回第一个表达式的布尔值

·逻辑运算符and和or两边是具体的数据的时候
当用第一个数据的布尔值判断不出这个and语句的真假时,直接返回第二个数据的值(本身的值而不是布尔值),能判断真假时直接返回第一个数据的值(本身的值而不是布尔值)

——————
——————————
——————————————
大概,就这么多。有时间搞点实例来让大家看看具体该怎么用,有什么应用

好,先就这样,大家有不懂的欢迎在评论区留言讨论,本人也是第一次发帖,有不严谨的地方欢迎大家批评指正本文原创,可搬运,注明原作者

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (2)

未尽作者允许,禁止恶行转发,所以版权归原创者所以,如有违规永久封号。

梦凡源巢 编程技术 关于Python逻辑运算中的逻辑短路 https://www.mengfan.co/1306.html

快乐为本

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用
查看详情

相关文章

评论
暂无评论