Python的 is 运算符

时间:2020-12-25 16:24:16

1. is运算符判断的是同一性而不是相等性。

#x和y都绑定到同一个列表,而z被绑定在另外一个具有相同数值和顺序的列表上
x = y = [1, 2, 3]
z = [1, 2, 3]
x == y #True
x == z #True x is y #True
x is z #False

2. 避免将is运算符用于比较类似数值和字符串这类不可变值。[缓存原因]

x = 1
y = 1
x is y #True x = 'hello'
y = 'hello'
x is y #True