资讯专栏INFORMATION COLUMN

Python的and和or的返回值

CarterLi / 776人阅读

摘要:一直以来,我以为中和的返回值是或。在布尔表达式环境下为假,其他任何东西都为真如果运算中,所有的值都为真,那么返回最后一个值。如如果某个值为假,那么立即返回该假值短路运算,如类似的。

一直以来,我以为python中andor的返回值是TrueFalse

看 《Dive into Python》这本书时,发现他们并不返回布尔值,而是返回他们实际进行比较的值之一。

and

根据自己已经掌握的知识,设想下如下代码的运算结果:

"a" and "b"
"" and "b"
"a" and "b" and "c"

根据python的定义,在没有看这部分内容之前,我认为答案分别为TrueFalseTrue。其实运行之后才发现应该是这样的:

Python 2.7.13+ (default, Jul 19 2017, 18:15:03)
[GCC 6.4.0 20170704] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> "a" and "b"
"b"
>>> "" and "b"
""
>>> "a" and "b" and "c"
"c"
>>>

原因如下:

and运算时,从左到右演算表达式的值。0, "", [], {}, None在布尔表达式环境下为假,其他任何东西都为真

如果and运算中,所有的值都为真,那么and返回最后一个值。如:"a" and "b"

如果某个值为假,那么and立即返回该假值(短路运算),如:"" and "b"

or

类似的。or的规则如下:

从左到右演算

如果有一个值为真,立即返回该值

所有所有的值都为假,返回最后一个假值

本文作者: Yarving Liu
本文链接: http://yarving.historytale.co...
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41902.html

相关文章

  • Python or and 运算,看这一篇就够

    摘要:问题出现中的,运算,可以写出比较复杂的演算表达式看了一些大神的演算规则解释,觉得不是很好理解,有些人甚至理解错了规则。特殊情况当表达式的所有值都是真值,并且运算符不全部一致,那么第一个或演算完后直接返回。 问题出现: Python 中的 or,and 运算,可以写出比较复杂的演算表达式; 看了一些大神的演算规则解释,觉得不是很好理解,有些人甚至理解错了规则。 这里聊一下自己的理解。 ...

    刘永祥 评论0 收藏0
  • Python语法基础

    摘要:例如布尔值只有两种值。在中,可以直接使用表示布尔值注意大小写布尔值可以用和进行运算,即数学里的与或非。三转义字符转义字符表转在字符串前加上,则表示接下来的字符串中不进行转义,强制原型输出。在中,通常用全部大写的变量名表示常量。 今天做下搬运工,把jianshu的直接搬过来调整下jianshu地址:[Python语法基础[1]: https://www.jianshu.com/p/31...

    Alliot 评论0 收藏0
  • python之你不知道notandor

    摘要:学习也有一个多月的时间了,刚开始的想法是每天把学习的东西总结一下,可是还是没有养成好习惯,所以最近开始,我会把一些学习的重点发出来,当然前提是我认为。 学习python也有一个多月的时间了,刚开始的想法是每天把学习的东西总结一下,可是还是没有养成好习惯,所以最近开始,我会把一些学习的重点发出来,当然前提是我认为。废话不多说,给大家说一下这篇文章的主题not、and、or相信大多数学过编...

    Crazy_Coder 评论0 收藏0
  • Python 工匠:编写条件分支代码技巧

    摘要:系列文章工匠善用变量改善代码质量序言编写条件分支代码是编码过程中不可或缺的一部分。而进行条件分支判断时用到的也是这个值重点来了,虽然所有用户类实例的布尔值都是真。 欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由鹅厂优文发表于云+社区专栏 作者:朱雷 | 腾讯IEG高级工程师 『Python 工匠』是什么? 我一直觉得编程某种意义是一门『手艺』,因为优雅而高效的代码...

    KaltZK 评论0 收藏0
  • python基础教程:基本数据类型之布尔类型(Boolean)

    摘要:另外还有一种数据类型叫做布尔类型。布尔类型布尔类型是计算机中最基本的类型,它是计算机二进制世界的体现,一切都是和。中的布尔类型只有两种值和。 计算机的本质就是计算,在其内部是0和1的比特位的变化,对外表现就是数据的变化。那么,计算机都能处理什么数据呢?本质上,数据都是以字节(Byte)存储的,表现上看,它们就是整数、浮点数和字符串等。Python的基本数据类型也不外乎于此。 整数和浮点...

    happyhuangjinjin 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<