Python中对象之间的比较,可以用 ==,也可以用 is. 在实际使用时,该如何选用。
先记住两点:
1) == 比较的是两个对象的内容是否相等,即内存地址可以不一样,内容一样就可以了。...在python中,内存地址查看方法:
1
In [1]: a = [1,2,3]
In [2]: id(a) #获取列表实例 a在内存中的地址
Out[2]: 95219592
2
In [5]:...b = [1,2,3] #再创建一个列表实例,元素取值也为 1,2,3
In [6]: id(b)
Out[6]: 95165640
3
In [7]: a is b # is操作符本质上判断a...str2)
True
9
In [78]: a = [1, 2, 3]
In [79]: b = [1, 2, 4]
In [80]: a == b
Out[80]: False
扩展
目前最常使用...继承自object对象的__eq__()方法直接比较两个对象的id. 很不幸,很多实际场景中,与我们期望相悖。