在Python 中,and 和 or 执行布尔逻辑演算,如你所期待的一样,但是它们并不返回布尔值;而是,返回它们实际进行比较的值之一。

一、and:

在布尔上下文中从左到右演算表达式的值,如果布尔上下文中的所有值都为真,那么 and 返回最后一个值。 如果布尔上下文中的某个值为假,则 and 返回第一个假值

二、or:

使用 or 时,在布尔上下文中从左到右演算值,就像 and 一样。如果有一个值为真,or 立刻返回该值 如果所有的值都为假,or 返回最后一个假值 注意 or 在布尔上下文中会一直进行表达式演算直到找到第一个真值,然后就会忽略剩余的比较值

三、and-or: and-or 结合了前面的两种语法,推理即可。

这个语法看起来类似于 C 语言中的 bool ? a : b 表达式。整个表达式从左到右进行演算,所以先进行 and 表达式的演算。 1 and 'first' 演算值为 'first',然后 'first' or 'second' 的演算值为 'first'。 0 and 'first' 演算值为 False,然后 0 or 'second' 演算值为 'second'。 and-or主要是用来模仿 三目运算符 bool?a:b的,即当表达式bool为真,则取a否则取b。 and-or 技巧,bool and a or b 表达式,当 a 在布尔上下文中的值为假时,不会像 C 语言表达式 bool ? a : b 那样工作。

四、安全使用and-or

由于 [a] 是一个非空列表,所以它决不会为假。即使 a 是 0 或者 '' 或者其它假值,列表 [a] 也为真,因为它有一个元素。 一个负责的程序员应该将 and-or 技巧封装成一个函数:

转自:https://www.jianshu.com/p/d4059a76a7a3

2!=5 or 0在python中是否正确-python 中 and or相关推荐

  1. 2!=5 or 0在python中是否正确-python数据分析第二版:numpy

    一:Numpy #数组和列表的效率问题,谁优谁劣 #1.循环遍历 importnumpy as npimporttime my_arr= np.arange(1000000) my_list= lis ...

  2. 2!=5 or 0在python中是否正确-python中的if判断语句

    判断(if)语句 目标 开发中的应用场景 if 语句体验 if 语句进阶 综合应用 01. 开发中的应用场景 生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?--  ...

  3. 2!=5 or 0在python中是否正确-Python 中的 or and 运算,看这一篇就够

    问题出现: Python 中的 or,and 运算,可以写出比较复杂的演算表达式: 看了一些大神的演算规则解释,觉得不是很好理解,有些人甚至理解错了规则. 这里聊一下自己的理解. 其他人是怎么做的: ...

  4. 2!=5 or 0在python中是否正确-python中的or,and运算符

    and 和 or 的用法 and 和 or 是python的两个逻辑运算符,可以使用and和or进行多个条件内容的判断. and是当and连接的所有的表达式的值为真时,才为真 or是当or连接的所有表 ...

  5. 2!=5 or 0在python中是否正确-python and or用法

    and 和 or 是python的两个逻辑运算符,可以使用and , or来进行多个条件内容的判断.下面通过代码简单说明下and or的用法: 1. or:当有一个条件为真时,该条件即为真.逻辑图如下 ...

  6. 2!=5 or 0在python中是否正确-不吹不擂,你想要的Python面试都在这里了【315+道题】...

    原标题:不吹不擂,你想要的Python面试都在这里了[315+道题] 有缘人如果看到这些题,不妨留言一下答案,来证明下你到底有多水,哈哈哈哈哈哈哈哈哈哈哈 第一部分 Python基础篇(80题) 1. ...

  7. anaconda新建python2环境安装不了jupyterlab_Anaconda 5.0.0 JupyterLab 0.27.0 中配置多Python环境支持...

    Anaconda 5.0.0 JupyterLab 0.27.0 中配置多Python环境支持 概述 Anaconda 5.0.0 中自带了 JupyterLab 0.27.0 版本,这是 Anaco ...

  8. Python深度学习一书中: 8.4代码VAE在tensorflow2.0错误‘lambda_1/random_normal/shape‘的解决方案

    Python深度学习一书中: 8.4代码VAE在tensorflow2.0下会有Duplicate node name in graph: 'lambda_1/random_normal/shape' ...

  9. python 聚类_使用python+sklearn实现聚类性能评估中随机分配对聚类度量值的影响

    注意:单击此处https://urlify.cn/3iAzUr下载完整的示例代码,或通过Binder在浏览器中运行此示例 下图说明了聚类数量和样本数量对各种聚类性能评估度量指标的影响.未调整的度量指标 ...

最新文章

  1. Quick BI 的模型设计与生成SQL原理剖析
  2. 【python数据挖掘课程】十九.鸢尾花数据集可视化、线性回归、决策树花样分析
  3. Windows基础评测
  4. 玩数据必备Python库:Numpy使用详解
  5. JEECG支付服务窗专题 - 平台与服务窗接口对接
  6. thinkphp整合Ueditor编辑器
  7. hyper-v 尝试更改 状态时 应用程序遇到错误 无法初始化
  8. 蓝桥杯 ALGO-75 算法训练 筛选号码
  9. pandas 的数据结构Series与DataFrame
  10. PDF阅读器如何实现免费论文查重
  11. h5打开android的app的具体页面,通过H5打开app,进入到指定页面
  12. 百度移动:静悄悄的战争
  13. python学习心得和体会
  14. 2020 12-23 视觉组作业
  15. 特效制作软件AE(After Effects)插件安装
  16. opencv imread函数
  17. The Shawshank Redemption-3
  18. [趣味][人工智能生成文字]chatGPT使用教程
  19. 房屋租赁合同中押金的法律性质分析
  20. 麦克马斯特大学计算机系褚令洋招收硕士生、博士生啦!

热门文章

  1. Python中str()与repr()函数的区别——repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用...
  2. python 写创建和追加一个文件
  3. redis 集群 及 管理初步
  4. (WCF)wcf剖析阅读小计
  5. Python 中 Iterator和Iterable的区别
  6. UIImageView动画
  7. Android 腾讯入门教程( 智能手表UI设计 和 MVC模式 )
  8. 【呆子化雨】浅谈Discuz插件开发-邮件验证提醒插件
  9. 开学考试学生成绩管理Java
  10. [EffectiveC++]item17:以独立语句将newed对象置入智能指针