Python 中的连续“is”运算符[重复]

2024-04-24

有人能为我解释一下吗?

>>> None is None is None
True
>>> (None is None) is None
False

'is' 运算符不是接受 2 个操作数,从左侧比较对象,然后返回布尔值吗?


因为它被解释为链式比较 https://docs.python.org/3/reference/expressions.html#comparisons:

comparison    ::=  or_expr ( comp_operator or_expr )*
comp_operator ::=  "<" | ">" | "==" | ">=" | "<=" | "!="
                   | "is" ["not"] | ["not"] "in"

比较可以任意链接,例如,x < y <= z是等价的 到x < y and y <= z,除了 y 仅计算一次(但在两个 当情况 z 根本不被评估x < y发现是假的)。

正式来说,如果a, b, c, …, y, z是表达式和op1, op2, …, opN是 比较运算符,那么a op1 b op2 c ... y opN z相当于a op1 b and b op2 c and ... y opN z,除了每个表达式是 最多评估一次。

因此,自从is是一个比较运算符,您的第一个表达式相当于:

None is None and None is None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 中的连续“is”运算符[重复] 的相关文章

  • winpdb 不适用于 python 3.3

    我无法让 rpdb2 与 python 3 3 一起运行 但根据多个来源 这应该是可能的 rpdb2 d myscript py A password should be set to secure debugger client serv
  • 如何从numpy数组中获取两个最小值

    我想从数组中取出两个最小值x 但是当我使用np where A B np where x x min 0 1 我收到此错误 ValueError 需要超过 1 个值才能解压 我该如何修复这个错误 我需要在数组中按升序排列数字吗 您可以使用n
  • 登录 python + mod_wsgi 应用程序

    我在 apache 服务器上部署了一个 python Flask 应用程序 这是我的abc conf file WSGIDaemonProcess voting app threads 5 WSGIScriptAlias election
  • 读取 JSON 文件并将其漂亮打印到另一个文件

    我有一个复杂 嵌套 的 json 文本文件 它是文本文件中的一长行 有什么方法可以读取文件 在 python 中 并将 json 缩进 漂亮地打印到新的文本文件中吗 使用读取文件json load 并使用json dump 在指定缩进值时将
  • 在 matplotlib 中查看然后自动关闭图形?

    我必须检查我的参数设置是否正确 因此我需要绘制许多图 为了绘制这些图 我选择使用 matplotlib 每次检查后 我需要单击左上角的关闭按钮 这很微不足道 那么有没有什么方法可以让剧情在3 5秒左右显示并且无需点击就自动关闭呢 我知道关于
  • 我的本地 postgresql 数据库 url 的形式是什么?

    我正在学习 Flask sqlalchemy 教程https pythonhosted org Flask SQLAlchemy quickstart html a minimal application https pythonhoste
  • Pandas 无法读取使用 h5py 创建的 hdf5 文件

    当我尝试读取使用 h5py 创建的 HDF5 格式文件时 出现 pandas 错误 我想知道我是否只是做错了什么 import h5py import numpy as np import pandas as pd h5 file h5py
  • 向 list.extend() 传递不可迭代对象

    我正在创建一个公共方法来允许调用者将值写入设备 例如将其称为 write vals 由于这些值将实时输入 因此我希望通过允许用户输入列表或单个值来简化用户的生活 具体取决于他们需要写入的值的数量 例如 write to device 1 2
  • 无法写入文本文件

    我正在运行一些测试并需要写入文件 当我运行测试时open file r 不写入文件 测试脚本如下 class GetDetailsIP TestGet def runTest self self category PTZ try This
  • 使用多索引列对多列求和

    我有一个从数据透视表创建的数据框 看起来类似于 import pandas as pd d company1 False Negative April 2012 112 0 April 2013 370 0 April 2014 499 0
  • 在pycharm中使用多处理时如何调试

    我正在 pycharm 社区版中使用 anaconda2 调试多进程程序 它有几个后台工作进程 工作进程将检查输入队列以检索任务 而不会休眠 直到收到任务 事实上 我只对主要流程感兴趣 但是pycharm调试器总是单步进入子进程 看起来主进
  • Pandas 数据框列总和并收集结果

    给定以下数据框 import pandas as pd p1 name willy age 11 interest Lego p2 name willy age 11 interest games p3 name zoe age 9 int
  • 如何在 Django 中创建多选框?

    我正在尝试创建多选框字段来自姜戈选择 2 https github com applegrew django select2库如下图所示 我使用了下一个代码 但它返回简单的选择多个小部件 我想我忘了补充一些东西 我的错误在哪里 有人可以告诉
  • 将 csv 写入谷歌云存储

    我试图了解如何将多行 csv 文件写入谷歌云存储 我只是没有遵循文档 https googlecloudplatform github io google cloud python stable storage blobs html hig
  • matplotlib 轴标签偏移量的因素和变化

    在 matplotlib 中的轴刻度标签上 有两种可能的偏移量 factors and shifts 在右下角 1e 8 是一个 因子 1 441249698e1 是一个 移位 这里有很多答案展示了如何操纵两个都 matplotlib 将轴
  • 第 100 次避免循环导入

    Summary 我继续有一个ImportError在一个复杂的项目中 我已经将其蒸馏到仍然会出现错误的最低限度 Example 巫师有装有绿色和棕色药水的容器 这些可以添加在一起 产生同样是绿色或棕色的新药水 我们有一个PotionABC
  • 在 matplotlib 中添加新的导航模式

    我正在编写一个 wx matplotlib 应用程序 并且在向 matplotlib 导航工具栏添加新工具时遇到相当大的困难 基本上我想添加选择工具 选取框 套索等 以切换受控子图的鼠标模式 到目前为止 我还没有找到任何功能可以让我轻松地做
  • 在 python 中将数组作为参数传递

    我是Python新手 现在我需要声明大小为 20 的数组并将该数组传递给函数 需要数组的函数如下 function args The args是一个输入function 谁能帮我 如何在 python 中传递数组 当你说 数组 时 我假设你
  • 如何按分层类别结构中的值对 pandas 中的数据框进行排序

    我有一个 pandas 数据框 pd DataFrame category Transport Transport Car Transport Train Household Household Utilities Household Ut
  • 无法比较类型“ndarray(dtype=int64)”和“str”

    Example of data that I want to replace 数据具有以下属性 购买 V 高 高 中 低 维持 V 高 高 中 低 门 2 3 4 5 更多 2 4人以上 lug boot 小 中 大 安全性低 中高 这就是

随机推荐

  • 枚举DataFlow脚本组件中的RecordSet作为数据源

    这是一个 SSIS 相关问题 我有一个设置为对象类型的变量 一个数据流将一些过滤的行导入到记录集中 并且该记录集存储在对象变量中 在完全独立的数据流中 我需要使用该记录集作为源 所以我创建了一个脚本组件并告诉它它将是一个数据源 我将其设置为
  • 将本地脚本文件添加到 EJS 视图

    我有一个 Node Express EJS 应用程序 它有一个用于视图的文件夹和另一个用于客户端文件的文件夹 后者有另一个 javascript 文件夹 其中有一个名为 frontend js 的文件 我想在此视图中加载 jQuery 和
  • 从 32 位拖放到 64 位

    我正在编写一个接受文件拖放的 C 程序 当它以 32 位编译时 它在任何情况下都可以工作 但当它以 64 位编译时 它仅适用于从 64 位应用程序拖动的文件 32 位 gt 32 位 成功 64 位 gt 64 位 成功 64 位 gt 3
  • 将命令发送到 GNU 屏幕

    我有一个名为 demo 的 GNU 屏幕 我想向它发送命令 我该怎么做呢 screen S demo X home aa scripts outputs sh yeilds No screen session found 和做screen
  • 如何判断一个类是否有成员变量?

    Problem 我想检测一个类是否有成员变量 如果有 则静态断言失败 就像是 struct b int a static assert has member variables b Class should not contain memb
  • 自定义 DataGridView 每次构建时都会添加列

    我正在写一个继承DataGridView控制默认情况下有两列 DGV 依靠用户控制GeneralTabPanel它继承自MainTabPanel它继承自UserControl 原因是MainTabPanel包含每个继承面板都必须重写的虚拟函
  • 关键“users_email_unique”空字段的重复条目“”

    我有两种类型的用户 真实的和假的 假用户是不使用系统的员工 真实用户使用他们的电子邮件地址登录 所以我的用户迁移有 table gt string email gt unique 问题是假用户可能没有电子邮件地址 我可以添加第一个假用户 没
  • Visual Studio 找不到引用

    我正在处理另一个人移交的一些应用程序 我必须在其中记录需求 构建和部署流程 这里的问题是 Visual Studio 2005 抛出很多错误 因为它找不到 dll 的引用 这显然不会让 VS 构建该项目 在该人的计算机上一切正常 但在我的计
  • 使用 Django 进行 Jquery 自动完成

    我正在尝试在 django 应用程序中使用 jquery ui 自动完成功能搜索一些项目 我看过这个question https stackoverflow com questions 4920031 jquery autocomplete
  • Java应用程序cpu负载过高的解决办法

    今天 我发现我的服务器的cpu负载太高 并且服务器只运行一个Java应用程序 下面是我的操作步骤 I used top命令查找应用程序的 pid pid是25713 I used top H p 25713命令查找一些使用最多 cpu 的
  • 将 PNG 图像中的透明度替换为白色背景

    我有一个带有 Alpha 通道 即透明度 的 PNG 图像 我需要创建将图像层合成到白色背景上的版本 我想使用可编写脚本的命令 使用 CLI 工具 例如 Image Magick 将 PNG 直接无损地转换为 PNG 导致错误的非工作 Im
  • 命令行 Ruby 函数的手册页

    有没有办法从命令行获取 Ruby 函数的手册 像 funcR 中的手册页 The ri工具在这里可能会有所帮助 http rubylearning com satishtalim ruby ri tool html ri Array ri
  • 如何使用 CPANPLUS 自动捆绑包更新新版本的 Perl?

    我有 Perl 5 13 4 其中包含大量已安装的 CPAN 模块 我刚刚编译了 Perl 5 14 0 我想将 5 13 4 中的所有模块安装 重新编译 到 5 14 0 中 我可以 已经使用 cpanp 和 b 选项生成了已安装模块的捆
  • 在 R 中将矩阵组合成数组

    如果我创建了多个矩阵 如何将它们组合成一个数组 我有 8 个矩阵 每个矩阵有 200 行和 200 列 我需要将它们组合成一个 dim 200 200 8 的数组 所以我希望每个矩阵都是数组的一部分 您可以使用abind函数从abind包裹
  • 强制构建全局对象

    代码如下 struct S S debugbreak static const S g s 显然 我希望一些代码在启动时运行 这仅适用于某些具有外部代码引用的符号的源文件 对于静态库中没有任何从外部引用的符号的源文件 看起来编译器或链接器会
  • 如何声明带有值的 ArrayList? [复制]

    这个问题在这里已经有答案了 Java 中的 ArrayList 或 List 声明 https stackoverflow com questions 12321177 arraylist declaration java已提问并回答了如何
  • 是否可以在由同一父进程创建的两个子进程之间建立管道(LINUX,POSIX)

    我有多个孩子由同一个父母 分叉 我尝试构建pipe所有这些子进程之间的连接就像一个链表结构 孩子 1 向孩子 2 发送数据 孩子 2 向孩子 3 孩子 N 向孩子 1 发送数据 有没有正确的方法可以做到这一点 此外 如果我在进程之间创建和通
  • 为什么 JavaScript 的 parseInt 的基数默认为 8?

    在 JavaScript 的 parseInt 函数中将基数默认为 8 如果字符串以 0 开头 让我很烦恼 只是因为我仍然忘记将可选的第二个参数传递为 10 我正在寻找一个答案 告诉我为什么这样做有意义将其默认为 8 如果输入字符串以 0
  • 为什么预分配对列表有用?

    我知道预分配向量或矩阵很有用 因为它们始终存储在连续的内存块中 然而 就列表而言 它可以包含不同长度和模式的元素 所以我的第一个猜测是列表可能只包含指向其元素真实地址的指针 我对么 这里有一个相关问题列表的内部实现是怎样的 https st
  • Python 中的连续“is”运算符[重复]

    这个问题在这里已经有答案了 有人能为我解释一下吗 gt gt gt None is None is None True gt gt gt None is None is None False is 运算符不是接受 2 个操作数 从左侧比较对