专栏首页紫旭详解Python中的逻辑运算符and or 和not

详解Python中的逻辑运算符and or 和not

总体解释

首先,‘and’、‘or’和‘not’的优先级是not>and>or。

其次,逻辑操作符and 和or 也称作短路操作符(short-circuitlogic)或者惰性求值(lazy evaluation):它们的参数从左向右解析,一旦结果可以确定就停止。例如,如果A 和C 为真而B 为假, A and B and C 不会解析C 。作用于一个普通的非逻辑值时,短路操作符的返回值通常是最后一个变量。因此,逻辑运算符的理解也与C语言中不同。举个例子:

输出内容:

在以上例子中,按照C语言对的思维,3 and 4即3与4为3,但是由于是短路操作符,结果为4,是因为and运算符必须所有的运算数都是true才会把所有的运算数都解析,并且返回最后一个变量,即为4;改变一下顺序4 and 3 ,结果也不一样,即为3

而或逻辑(or),即只要有一个是true,即停止解析运算数,返回最近为true的变量,即 3 or 4,值为3;改变顺序4 or 3 即为4

个人理解

赋值变量为非布尔型时,进行判断永远返回真,所以and时,由于两个值都是true,则返回末尾的值,or 时,由于第一个已经是true了,所以第二个将不再继续判断。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • php生成唯一订单号的5种方法

    这篇文章主要介绍了关于php生成唯一订单号的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

    紫旭Blog - blog.zixutech.cn
  • 【初学Linux】常用命令和自用记忆方法 持续更新

    最近在补习linux 相关知识,为Kali做准备,虽然以前接触过linux但是基本跟小白没什么区别,现在开始从最简单的开始学起,一个一个认命令。欢迎各位萌新跟我...

    紫旭Blog - blog.zixutech.cn
  • 修改Vue.js版本,以修复MuseUI没有水波纹效果的BUG

    学习Vue了一段时间,个人还是比较喜欢Material Design风格的框架,找了很久,最满意的也就是Muse-ui了。然后就发现了一个超级恶心和严重的问题,...

    紫旭Blog - blog.zixutech.cn
  • 【网络编程系列】二:socket通信原理及实践

    我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或...

    老白
  • 通过WebRTC进行实时通信-建立信令服务交换数据

    换句话说,交换metadata需要在点对点传输音频、视频或数据之前。这个过程称之为信令。

    音视频_李超
  • leetcode474. Ones and Zeroes

    先是用深度优先遍历的思想进行了实现,结果很明显是超时了。接着采用动态规划的思想,其实这题就是背包问题的一个演化。假设已知道m个0和n个1能够从数组中前i个元素最...

    眯眯眼的猫头鹰
  • PHP网络编程之深入Libevent(十五节)

    大家周末好,这里有趣有用广告少的公众号高性能API社区,我是老李,本文属于《PHP网络编程》系列中的一个章节。

    老李秀
  • nodejs构建多房间简易聊天室

      本服务器需要提供两个功能:http服务和websocket服务,由于node的事件驱动机制,可将两种服务搭建在同一个端口下。

    用户2038589
  • LeetCode 3: 无重复字符的最长子串

    Given a string, find the length of the longest substring without repeating chara...

    爱写bug
  • LeetCode 828. 统计子串中的唯一字符(中心扩展)

    我们定义了一个函数 countUniqueChars(s) 来统计字符串 s 中的唯一字符,并返回唯一字符的个数。

    Michael阿明

扫码关注云+社区

领取腾讯云代金券