在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

最新文章

  1. paip.java 开发中web server的选择jboss resin tomcat比较..
  2. 二叉堆(binary heap)
  3. Rank List
  4. MYSQL--事务处理
  5. poisspdf(so also poisscdf, poissfit, poissinv, poissrnd, poisstat, pdf.)
  6. exe4教程
  7. python学习之路三(文件读写)
  8. angularjs中常用的ng指令介绍【转载】
  9. css自定义动画在微信中无法执行的原因
  10. 银河麒麟操作系统U盘手动挂载,出现乱码
  11. oracle帐号scott被锁定如何解锁
  12. EasyUI 主布局整合。
  13. DVWA 黑客攻防演练(十三)JS 攻击 JavaScript Attacks
  14. PIL成就你的自信之路
  15. 记华硕小主机装xp并给nokia e7-00 刷机
  16. echarts柱状图鼠标移动在柱状图上显示数据给数据添加单位
  17. LoadRunner之IP欺骗
  18. 一台电脑上配置多个tomcat同时运行
  19. 堆和索引堆的实现(python)
  20. MyEclipse 编写 JSP 代码时很卡的解决办法

热门文章

  1. C# 说说lock到底锁谁?(2)
  2. webpack引入eslint详解
  3. 雷林鹏分享:jQuery EasyUI 数据网格 - 合并单元格
  4. python画箱线图
  5. 【lintcode13】字符串查找
  6. C++ 多目录多文件编译 技巧
  7. zabbix3.4.7利用Windows性能监视器监控各项资源指标
  8. Android 音视频深入 九 FFmpeg解码视频生成yuv文件(附源码下载)
  9. python if __name__==&#39;__main__&#39;的理解
  10. JavaScript之循环