这让我困惑.即使不知道优先顺序,也可以判断收集表达式的两种可能方法是否会给出False:

>>> (0 is 0) == 0
False
>>> 0 is (0 == 0)
False

但是

>>> 0 is 0 == 0
True

怎么会?

推荐答案

在Python中链接比较运算符时,这些运算符实际上并不应用于其他运算符的结果,而是单独应用于操作数.也就是说,x ? y ?? z(其中???应该代表一些比较运算符)既不等于(x ? y) ?? z也不等于x ? (y ?? z),而是x ? y and y ?? z.

这对>和co特别有用,它允许你写min < x < max之类的东西,让它做你想做的事情,而不是将布尔值与数字进行比较(这在大多数其他语言中都会发生).

Python-3.x相关问答推荐

使用魔方无法从图像中识别单个字符

Gekko优化超出了方程式的界限(由于某种原因,会产生变量)

如何将CSV或FDF数据解析到Python词典并注入到模板PDF表单中?

如何从拼图分区数据集中读取数据到Polar

当索引大于一个整数而小于前一个索引时,我如何返回列值?

如何将参数/值从测试方法传递给pytest的fixture函数?

重复数组直到一定长度 groupby pandas

Django中自动设置/更新字段

ImportError:抓取数据后找不到 html5lib

Keras 中 Conv2D 层的意外结果

类不继承时 super() 的用途

过滤并获取数据框中条件之间的行

获取字符串中的两个工作日之间的差异

使用 GEKKO 使用代码解决最佳时间控制问题时出现 IndexError

python2和python3中的列表生成器

命名元组内命名元组的 Python 语法

python 3.4版不支持'ur'前缀

使用打印时,用+连接是否比用,分隔更有效?

Python中调用者函数的访问变量

python中的绝对导入是什么?