python - 比较运算符和 'is' - python 中的运算符优先级?

标签 python python-3.x

所以我在看一些code在网上,我遇到了一行(第 286 行):
if depth > 0 and best <= -MATE_VALUE is None and nullscore > -MATE_VALUE:

我难以理解的部分是 best <= -MATE_VALUE is None .

所以我启动了解释器,看看如何像 value1 > value2 is value3 这样的语句工作。
所以我试过了

>>> 5 > 2 is True
False

>>> (5 > 2) is True 
True

>>> 5 > (2 is True) 
True


我的问题

为什么是5 > 2 is True不是 True ?这些东西通常如何运作?

谢谢。

最佳答案

您看到 python 的运算符链工作

5 > 2 is True

相当于

5>2 and 2 is True

你可以从中看到这个

>>> 5>2 is 2

返回 True

关于python - 比较运算符和 'is' - python 中的运算符优先级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32182177/

相关文章:

python - 如何在 Python 3 的 .txt 文件中找到单词的位置

python-3.x - 摄氏度到华氏度在列表中循环

python-3.x - 如何解决 XStartTimeoutError : Failed to start X on display ":1013" error

python - Tensorflow2.0 - 如何将张量转换为 numpy() 数组

python - 在python中制作迷宫图

python - Selenium:Python 无法从 elif 中找到元素

python - 导入文件时出错 : ModuleNotFoundError: No module named

python - "merging"使用 lambda 和 map 的字典

python - 基本的 Python/Beautiful Soup 解析

python - 从 Dataframe 中新列的索引中提取数据