逻辑运算符&逻辑短路
(1)and 逻辑与
全真则真,一假则假
print(True and True) #True
print(False and True) #False
print(False and False) #False
print(True and False) #False
(2)or 逻辑或
全假则假,一真则真
print(True or True) #True
print(False or True) #True
print(False or False) #False
print(True or False) #True
(3)not 逻辑非, (取反)
print(not True) #False
print(not False) #True
逻辑短路: 在逻辑运算符的左侧就可以判断出来True或False, 那么右侧代码就不执行
False and bool 逻辑短路, 右侧不执行 True or bool 逻辑短路, 右侧不执行
False and print(123) # 短路
True or print(234) # 短路
True and print(345) # and左侧不能判断真假, 右侧打印执行345
逻辑运算符的返回值:
并不只是返回True或False, 也可以返回其他值(要先经过bool强转后进行运算)
短路时弹出左侧数据(如果方法有返回值弹出返回值, 无返回值弹出None),
不短路时弹出右侧数据的返回值.
# (1)
print(5 or 6 and 7) #
print(5 or True) #
print(False or 5) #
# (2)
print((5 or 6) and 7) #
# (3)
print(not(5 or 6) and 7) # False
# (4)
print(3 > 1 or 4 < 5 and 6 > 9 or 8 == 10) # True
逻辑运算符&逻辑短路的更多相关文章
- day03-Python运维开发基础-(数据类型强转、运算符、逻辑短路、isinstance)
1. 强制转换成容器数据类型 # ### 强制类型转换 容器类型数据 (str list tuple set ) var1 = "你好世界" var2 = ["陈博文&q ...
- JS逻辑运算符之“短路”
逻辑与 && 如(表达式 1 && 表达式 2)参与运算时,程序只运行到对应的位置后,停止运行 二者都为 真(true) 时,返回表达式 2 二者有一个为 假 (fal ...
- 逻辑运算符——逻辑与&&、逻辑或||
一直以来,都是认为逻辑运算符返回的是布尔值,却突然发现:并不是这样. 对于||来说,如果条件判断结果为true就返回第一个操作数的值,如果为false就返回第二个操作数的值. &&则相 ...
- 关于c语言的逻辑短路规则
原来的代码是 if (temp == 3 && (a % b != 0 || b == 0 )){ printf("go"); } dev-c 报错: progra ...
- && 和 || 逻辑运算符的短路运算
&&和||的短路运算,是指如果在进行前面的表达式的运算过程,通过判断已经明确的知道整个表达式的结果,那么就不会进行后面表达式的运算判断. 表达式1 || 表达式2 || 表达式3... ...
- 李洪强漫谈iOS开发[C语言-031]-逻辑短路
- web笔记全
1.项目流程与数据库 1.课程体系 阶段1(服务器开发): 项目导入/数据库/JS基础/NodeJS 阶段2(前端核心技术): HTML/AJAX/CSS/bootstrap 阶段3(前端进阶技术): ...
- 不要使用短路逻辑编写 stl sorter 多条件比较
前言 最近工期紧.任务多,没有时间更新博客,就水一期吧.虽然是水,也不能太水,刚好最近工作中遇到一个 sorter 多条件排序的问题,花费了半天时间来定位解决,就说说它吧. 背景 公司产品是一个跨端的 ...
- javascript运算符——逻辑运算符
× 目录 [1]逻辑非 [2]逻辑与 [3]逻辑或 前面的话 逻辑运算符对操作数进行布尔运算,经常和关系运算符一样配合使用.逻辑运算符将多个关系表达式组合起来组成一个更复杂的表达式.逻辑运算符分为逻辑 ...
随机推荐
- xenserver使用快照创建虚拟机,提示eth0 has different mac错误
这个报错的意思就是说mac地址错误 我们对比后可以发现,用快照创建的虚拟机和原虚拟机的eth0那个配置文件的 mac地址是一样的,因为mac地址具有唯一性,所以就报这个错,无法配置ip上网 解决方法很 ...
- Android 工具视频学习笔记_WDS
1. 由于Android源码过于庞大,SourceInsight会经常卡死,不适合了.适合的是Android Studio, 非常好用.使用手册上有介绍如何安装. 编译安卓的过程说明手册中也有. 3. ...
- pnpm 快速节省磁盘工具的包管理工具
nodejs 相关的包管理工具有很多,我们常用的有 npm cnpm(我基本已经不用了),yarn... pnpm 是另外一个不错的包管理工具,包含以下特性 快速 节省空间,一个版本的包只会在磁盘中存 ...
- VS中实时获取SVN的版本号并写入到AssemblyInfo.cs中
在开发项目时,需要知道当前发布的到底是哪个版本,比较好的方式就是获取SVN的版本来作为项目的版本.项目版本一般由主版本.次版本.内部版本.修改版本四个部分组成,我们获取的SVN版本就作为修改版本即可. ...
- out, ref 和 params 的区别和用法
1. out 参数. 如果你在一个方法中,返回多个相同类型的值,可以考虑返回一个数组. 但是,如果返回多个不同类型的值,返回数组就不可取.这个时候可以考虑使用out参数. out参数就侧重于在一个方法 ...
- 21 MRO C3算法
三十九 MRO 多继承的继承顺序 一.python2.2之前用的是 经典类的MRO继承 ①深度递归继承 从左到右 ,一条路走到黑 ②广度继承 一层一层的继承 深度继承时 ...
- Easy to use cross-platform 3D engines
C++ http://gamedev.stackexchange.com/questions/21/easy-to-use-cross-platform-3d-engines-for-c-game-d ...
- ML: 聚类算法R包-对比
测试验证环境 数据: 7w+ 条,数据结构如下图: > head(car.train) DV DC RV RC SOC HV LV HT LT Type TypeName 1 379 85.09 ...
- Linux 如何测试 IO 性能(磁盘读写速度)
这几天做MySQL性能测试,偌大一个公司,找几台性能测试机器都很纠结,终于协调到两台,IO的性能如何还不知道.数据库属于IO密集型的应用,所以还是先评估下Server的IO性能,看看是否能和线上的机器 ...
- Python入门 [输出,注释,列表,元祖,集合,字典,if,while,for]
print("Hello Python") #输出 ''' 多行注释 用 三个引号 ''' a=1 #赋值 变量首字母只能书字母下划线 第二个字符数字,字母,下划线 声明一个列表 ...