Please enable java script to visit.
NOTEBOOK
HOMEPHP / MySQLJS / HTMLWXappPythonC++Blender其他
Python 中,is 和 == 都是用于比较两个对象是否相等的运算符,但它们的比较方式不同 - NOTEBOOK
Python 中,is 和 == 都是用于比较两个对象是否相等的运算符,但它们的比较方式不同
Python
Posted on 2023-05-26
摘要 : 在 Python 中,is 和 == 都是用于比较两个对象是否相等的运算符,但它们的比较方式不同。

== 运算符用于比较两个对象的值是否相等,如果值相等则返回 True,否则返回 False。
a = [1, 2, 3]
b = [1, 2, 3]
print(a == b) # 输出:true


上述代码中,虽然 a 和 b 分别引用了两个不同的列表对象,但是它们的值相等,因此 a == b 返回 True。

is 运算符用于比较两个对象的身份标识符是否相等,如果两个对象的身份标识符相同,则返回 True,否则返回 False。例如:
a = [1, 2, 3]
b = [1, 2, 3]
print(a is b) # 输出:false


上述代码中,虽然 a 和 b 的值相等,但它们的身份标识符不相同,因此 a is b 返回 False。

可以将身份标识符理解为 Python 对象的内存地址。is 运算符比较的是两个对象的内存地址是否相同,而 == 运算符比较的是两个对象的值是否相同。

需要注意的是,在 Python 中,对于一些简单对象,如 None、True、False 等,它们的身份标识符是固定的,因此使用 is 运算符比使用 == 运算符更为常见。例如:
a = None
b = None
print(a is b) # 输出:true