逻辑运算符&逻辑短路
(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]逻辑或 前面的话 逻辑运算符对操作数进行布尔运算,经常和关系运算符一样配合使用.逻辑运算符将多个关系表达式组合起来组成一个更复杂的表达式.逻辑运算符分为逻辑 ...
随机推荐
- How to get checksum by IAR
- Spring事务传播属性和隔离
1 事务的传播属性(Propagation) 1) REQUIRED ,这个是默认的属性 Support a current transaction, create a new one if no ...
- Dynamic dispatch
Dynamic dispatch动态调度.动态分发 In computer science, dynamic dispatch is the process of selecting which im ...
- 利用pipeline批量插入数据到redis
在推荐系统中,推荐候选集格式一般是,itemid itemid_list.要把itemid作为key,推荐列表作为value批量插入到redis. 比如文件cf.data为: cf_763500210 ...
- golang interface判断为空nil
要判断interface 空的问题,首先看下其底层实现. interface 底层结构 根据 interface 是否包含有 method,底层实现上用两种 struct 来表示:iface 和 ef ...
- mysql 备份与还原恢复
一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldump命令的工作原理很简单.它先 ...
- openwrt lan/wan口自动翻转
参考: http://www.right.com.cn/forum/thread-75532-1-1.html 该实验基于ar9331 dragino2板子的,板子只引出一个LAN口. 1. 固件编译 ...
- 如何让classmethod只允许使用用类对象来调用
Django REST framework里面有这样一段代码,在网上查@classonlymethod的意思是使得classmethod只允许使用用类对象来调用 @classonlymethod de ...
- Winform Chart
Chart图表解释说明: 第一步:使用VS创建Winform项目: 第二步:工具箱中拖入Chart控件: 第三步:所有控件拖入其他控件如下图所示: using System; using System ...
- spring AOP的学习
1.Spring常用的概念 Joinpoint(连接点): 所谓连接点是指那些被拦截到的点.在spring中,这些点指的是方法,因为spring只支持方法类型的连接点. Pointcut(切入点): ...