关于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,就会直接返回第二个的值)

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

好,先就这样,大家有不懂的欢迎在评论区留言讨论,本人也是第一次发帖,有不严谨的地方欢迎大家批评指正[赖皮][赖皮][赖皮]

本文原创,可搬运,注明原创及地址即可图片[1]-关于Python的短路逻辑-葫芦芥子博客-云程工作室旗下官方网站,葫芦侠,芥子空间,云程DIY,丸子小程序,星宿UI,枫瑞博客网,云程工作室,云程APP,默然云后台系统,默然IAPP管理系统官网,默然官网,默然后台图片[2]-关于Python的短路逻辑-葫芦芥子博客-云程工作室旗下官方网站,葫芦侠,芥子空间,云程DIY,丸子小程序,星宿UI,枫瑞博客网,云程工作室,云程APP,默然云后台系统,默然IAPP管理系统官网,默然官网,默然后台

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称表情代码图片

    暂无评论内容