Python 中 and 和 or 的有趣现象

原创 2015年07月10日 14:36:56
  • 知识在前

    1. x and y 布尔“与” 如果 x 为 False,返回 x 的计算值,否则它返回 y 的计算值
    2. x or y 布尔“或” 如果 x 是 True,返回 y 的计算值,否则它返回 y 的计算值
    3. 首先要明确一点,and 的运算优先级要高于 or。
  • Python 中 and 和 or 的有趣现象:这里不说普通的判断情况,只说特别的:


case 1:

>>> "x" and "s" or "y"
"s"

分析:先运算 “x” and “s”,”s” 算作 True,结果返回 “s”。再运算 “s” or “y”,”s” 算作 True,结果返回 “s”。

case 2:

>>> False and "s" or "y"
"y"

分析:先运算 False and “s”,False 算作 False,结果返回 False。再运算 False or “y”, False 算作 False,结果返回 “y”。

case 3:

>>> 1 and 2 or 3
2

分析:判断对数字同样有效,具体分析同上

Python三目运算符and or和if else以及注意事项

Python三目运算符and or和if else以及注意事项

python中 and和or用法

在Python 中,and 和 or 执行布尔逻辑演算,如你所期待的一样。但是它们并不返回布尔值,而是返回它们实际进行比较的值之一。 (类似C++里面的&&和||的短路求值) ( 在布尔环境中,0、”...

Python中的and和or

第一次看到python的and和or的运行结果的时候觉得很诧异,惊呼:“怎么会这样?”,再一想想觉得也还挺不错的...

今天开始学Python(and 和 or 运算)

在Python 中,and 和 or 执行布尔逻辑演算 但是它们并不返回布尔值,而是返回它们实际进行比较的值之一 1. and 使用 and 时,在布尔环境中从左到右演算表达式的值。 如果布尔环...
  • zryxh1
  • zryxh1
  • 2013年05月18日 15:43
  • 648

python中not,and,or的优先级问题及用法

优先级问题 – 在学习python中,发现其中的Boolean Operations — and, or, not的用法与常见的布尔代数用法有很大不同,其中确定优先级是判断一个表达式结果的关键,下面给...

Python and-or 技巧

2.7. and-or 技巧 如果你是一名C语言高手,当然对 bool ? a : b 表达式熟悉,这个表达式当 bool 为真时计算为 a,其它值则为 b。象很多编程技巧一样,它是一种诱人的便...

Python中and和or的特殊性质

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

python and 和 or 语法规则

python的and和or的用法! 0、''、[]、()、{}、None 在布尔上下文中为假 1.and  (优先返回假,返回最后一个真,第一个假)   如果都为真,则返回最后一个真   如...

飘逸的python - and_or大法

George Boole神奇的将逻辑变成了代数,使之可以演算,因此,被叫做布尔代数.而and和or是布尔代数其中的2个符号. 首先,我们要明确一个东西,Python和很多语言一样,都是返回两个被操...

利用python and or,if else 简化代码

原题是这样的 链接:https://leetcode.com/problems/merge-two-binary-trees/#/description Given two binary ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python 中 and 和 or 的有趣现象
举报原因:
原因补充:

(最多只允许输入30个字)