== 是比较两个对象的内容是否相等,即两个对象的“值”是否相等,不管两者在内存中的引用地址是否一样。
is 比较的是两个实例对象是不是完全相同,它们是不是同一个对象,占用的内存地址是否相同。即is比较两个条件:1.内容相同。2.内存中地址相同。a = 10000
b = 10000
print(a == b) # True
print(a is b) # True
print(id(a)) # 4461408208
print(id(b)) # 4461408208
a = "hello world"
b = "hello world"
print(a == b) # True
print(a is b) # True
print(id(a)) # 4461408208
print(id(b)) # 4461408208
a = [11,22,33]
b = [11,22,33]
print(a == b) # True
print(a is b) # False
print(id(a)) # 4409720712
print(id(b)) # 4409720776
在上面的代码中,我们分别定义了 a 和 b 两个变量,通过输出结果可以发现当变量为字符串或数字时, is 和 == 的输出结果是一样的,当为列表时 is 和 == 结果不一样,