Python逻辑运算符之与或非 您所在的位置:网站首页 python和c语言关系 Python逻辑运算符之与或非

Python逻辑运算符之与或非

2024-06-18 13:45| 来源: 网络整理| 查看: 265

Python逻辑运算符之与或非 一. 短路与(逻辑与)和非短路与二. python逻辑运算符之与或非

在这里插入图片描述 在看python的时候逻辑运算符没看懂。

x and y 布尔"与" - 如果 x 为 False,x and y 返回 x 的值,否则返回 y 的计算值。 (a and b) 返回 20

就这一段话,看的我有点懵逼,然后我就去上网搜了别人的解说,然后写了一篇文章,供大家理解。

先学习其他语言里的与或非。

短路与(逻辑与)和非短路与。或也是如此,不在重复,接下来拿与举例子。

一. 短路与(逻辑与)和非短路与

https://blog.csdn.net/weixin_43224539/article/details/91391351 这篇文章中的这个例子讲解的很通透。

先来看牛客的一道题 如下语句通过算术运算和逻辑运算之后i和 j的结果是( ) int i=0; int j=0; if((++i>0)||(++j>0)) { //打印出i和j的值。 } A i=0;j=0 B i=1;j=1 C i=0;j=1 D i=1;j=0 答案是:D

(++i>0)||(++j>0) 中的||是短路与。

这题考察短路逻辑的用法

&& 和 || 分别为 短路与 和 短路或

&& 若前面的表达式结果为false,整个逻辑表达式的结果就为false,所以后面的表达式无论true或者false都无法影响整个逻辑表达式的结果,所以为了提高代码执行效率,后面的表达式就不会执行。

同理,若前面的表达式为true,则后面的表达式也无需计算。

& 和 | 为 不短路与 和 不短路或

无论什么情况,前面的和后面的表达式都要执行。

二. python逻辑运算符之与或非

python的与或非具有短路效果。

&&具有短路的效果。左边是false,右边就不执行。 ||具有短路的效果,左边为true,右边不执行

在这里插入图片描述 以下是对python运算符的详细解答:

运算符  not,and,or

not  语法:not x  作用:    对x进行布尔取反/取非    非真即假,非假即真    如bool(x)为True,not x 则为False    如bool(x)为False,not x 则为True  示例:    not True : False    not False : True        month = 10    if not 1or。

其次,逻辑操作符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.

参考:https://www.cnblogs.com/zhaoyang1997/p/10264080.html https://blog.csdn.net/lqzdreamer/article/details/77171255



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有