PythonStudy——逻辑运算符 Logical Operators
2024-08-27 10:57:48
在Python中,None、任何数值类型中的0、空字符串“”、空元组()、空列表[]、空字典{}都被当作False,还有自定义类型,如果实现了 __ nonzero __ () 或 __ len __ () 方法且方法返回 0 或False,则其实例也被当作False,其他对象均为True。
# 逻辑运算符运行结果:不一定是bool类型
1. and
# 左右都成立才成立,有不成立的就不成立
res = 10 > 5 and 10 > 20
print(res)
Output:
False
res = 0 and 20 # and前为假,整个式子就可以确定为假了,and后就不需要执行(短路)
print(res)
2. or
# 左右都不成立才不成立,有成立的就成立
res = 10 < 5 or 10 > 20
print(res) Output:
False
res = 10 or 20 # or前为真,整个式子就可以确定为真了,or后就不需要执行(短路)
print(res)
3. not
#成立则不成立,不成立则成立
print(not 10)
print(not 0) Output:
False
True
4. 包含两个及以上的逻辑运算符
逻辑运算符 and / or 一旦不止一个,其运算规则的核心思想就是短路逻辑,我们就来了解一下短路思想:
1 表达式从左至右运算,若 or 的左侧逻辑值为 True ,则短路 or 后所有的表达式(不管是 and 还是 or),直接输出 or 左侧表达式 。
2 表达式从左至右运算,若 and 的左侧逻辑值为 False ,则短路其后所有 and 表达式,直到有 or 出现,输出 and 左侧表达式到 or 的左侧,参与接下来的逻辑运算。
3 若 or 的左侧为 False ,或者 and 的左侧为 True 则不能使用短路逻辑。
# # 了解:and 优先级高于 or
res = 5 and 0 or 20 and 30 #
print(res) Output:
30
最新文章
- paip.java 开发中web server的选择jboss resin tomcat比较..
- 二叉堆(binary heap)
- Rank List
- MYSQL--事务处理
- poisspdf(so also poisscdf, poissfit, poissinv, poissrnd, poisstat, pdf.)
- exe4教程
- python学习之路三(文件读写)
- angularjs中常用的ng指令介绍【转载】
- css自定义动画在微信中无法执行的原因
- 银河麒麟操作系统U盘手动挂载,出现乱码
- oracle帐号scott被锁定如何解锁
- EasyUI 主布局整合。
- DVWA 黑客攻防演练(十三)JS 攻击 JavaScript Attacks
- PIL成就你的自信之路
- 记华硕小主机装xp并给nokia e7-00 刷机
- echarts柱状图鼠标移动在柱状图上显示数据给数据添加单位
- LoadRunner之IP欺骗
- 一台电脑上配置多个tomcat同时运行
- 堆和索引堆的实现(python)
- MyEclipse 编写 JSP 代码时很卡的解决办法
热门文章
- C# 说说lock到底锁谁?(2)
- webpack引入eslint详解
- 雷林鹏分享:jQuery EasyUI 数据网格 - 合并单元格
- python画箱线图
- 【lintcode13】字符串查找
- C++ 多目录多文件编译 技巧
- zabbix3.4.7利用Windows性能监视器监控各项资源指标
- Android 音视频深入 九 FFmpeg解码视频生成yuv文件(附源码下载)
- python if __name__==&#39;__main__&#39;的理解
- JavaScript之循环