python中一切都是对象,is和==是常用来进行对象比较。记录一下两者之间的区别。
==是用来比较两个对象的值是否相等;而is是比较两个对象是不是同一个,也就是指向同一块内存地址。介绍is之前先说一下id函数。id函数是获取对象在生命周期中的标示,一个对象的标示始终是唯一且不变的,也可以将该标示理解为内存地址。
下面通过几个例子来说明一下。
测试环境:Ubuntu18 + python3.7
def test_is_equ():
a = 9
b = 9
print("a == b: ", a == b, "; a is b: ", a is b, "; id(a): ", id(a), "; id(b): ", id(b))
a = 10000
b = 10000
print("a == b: ", a == b, "; a is b: ", a