当前位置: 首页 > 编程笔记 >

解释==和is在Python中的运算符之间的区别。

田博易
2023-03-14
本文向大家介绍解释==和is在Python中的运算符之间的区别。,包括了解释==和is在Python中的运算符之间的区别。的使用技巧和注意事项,需要的朋友参考一下

==运算符

==运算符通过检查对象值的相等性来比较操作数。

是运算符

is运算符通过检查对象是否相同来比较操作数。

示例

以下是Python中的程序以展示差异。

list1 = [1]
list2 = [1]
list3 = list1

print(id(list1))
print(id(list2))

if (list1 == list2):
   print("True")
else:
   print("False")

if (list1 is list2):
   print("True")
else:
   print("False")

if (list1 is list3):
   print("True")
else:
   print("False")

输出结果

140380664377096
140380664376904
True
False
True
 类似资料:
  • 问题内容: 该运营商不匹配变量的值,但这些实例本身。 到底是什么意思 我声明了两个变量,并在两个变量中分配了相同的值,但是当我使用运算符时,它返回。 我需要澄清。这是我的代码。 问题答案: 您误解了操作员的测试内容。它测试两个变量是否指向同一个对象,而不是两个变量具有相同的值。 从操作员文档中: 运算符is和is not对象标识测试:当且仅当和y是相同对象时,才为。 改用运算符: 打印True。x

  • 问题内容: 如果移位的数字为正,>>>和>>的工作原理相同。 如果移位数为负,>>>将最高有效位填充为1,而>>操作将MSB填充为0。 我的理解正确吗? 如果负数是在MSB设置为1的情况下存储的,而不是Java使用2s补码的方式,则运算符的行为将完全不同,对吗? 问题答案: 表示负数的方式称为2的补码。为了演示其工作原理,以-12为例。12的二进制值为00001100(假设整数为8位,尽管实际上它

  • 问题内容: 和运算符之间有什么区别,它们的用例是什么?他们俩似乎都是为了一项任务? 问题答案: 仅是赋值运算符。 是Short变量声明子句语法的一部分。 though虽然有一些规则。

  • 问题内容: 假设我正在Swift中实现一个根类,我声明该根类采用了协议(我希望能够知道我类型的数组是否包含给定的实例)。 *在此特定情况下,将协议的所需运算符实现为之间有 *什么区别( 如果有的话): …而不是仅仅这样做: 作为参考,这是文档中所说的: 类实例或元类型的唯一标识符。在Swift中,只有类实例和元类型才具有唯一标识。对于结构,枚举,函数或元组,没有身份的概念。 ......这是什么的

  • 问题内容: 在PHP中,和运算符之间有什么区别吗? 在手册中,它指出: 我猜没有太大的区别,但我很好奇。 问题答案: 在主要的Zend实现中,没有任何区别。您可以从PHP语言扫描程序的Flex描述中获取它: 生成的令牌在哪里。因此,Bison 解析器不会区分和标记,而是将它们等同对待:

  • 问题内容: 据我所知,操作员会执行以下操作:(如果我错了,请纠正我。) 分配内存,然后返回分配的内存的第一个块的引用。(显然,内存是从堆分配的。) 初始化对象(调用构造函数。) 运算符也以类似的方式工作,只是它对数组中的每个元素都执行此操作。 谁能告诉我这两个运算符在C ++和Java中有何不同: 就其生命周期而言。 如果他们无法分配内存怎么办。 问题答案: 在C ++中,… 对于类型的对象分配足