Python 中的身份运算符用于比较对象的内存地址,而不是比较对象的值。
这些运算符可以用于判断两个变量是否引用同一个对象。
一、is
运算符
检查两个变量是否引用同一个对象。
x = [1, 2, 3]
y = x
result1 = x is y # True,因为 x 和 y 引用同一个列表对象
二、is not
运算符
检查两个变量是否引用不同的对象。
a = [4, 5, 6]
b = [4, 5, 6]
result2 = a is not b # True,因为 a 和 b 引用不同的列表对象
这些身份运算符允许您检查两个变量是否引用了相同的对象,而不仅仅是比较它们的值。
它们在某些情况下很有用,特别是当您需要确定两个变量是否引用了同一个可变对象(如列表、字典等)时。
需要注意的是,对于不可变对象(如整数、字符串等),身份运算符可能不会产生预期的结果,因为 Python 会对一些不可变对象进行优化,使它们共享相同的内存地址。