有人能解释我在python 2.6.6上这个奇怪的结果吗?Python中的奇怪结果
>>> a = "xx"
>>> b = "xx"
>>> a.__hash__() == b.__hash__()
True
>>> a is b
True # ok.. was just to be sure
>>> a = "x" * 2
>>> b = "x" * 2
>>> a.__hash__() == b.__hash__()
True
>>> a is b
True # yeah.. looks ok so far !
>>> n = 2
>>> a = "x" * n
>>> b = "x" * n
>>> a.__hash__() == b.__hash__()
True # still okay..
>>> a is b
False # hey! What the F... ?
人们知道'is'是什么,但不知道它与'=='有什么不同? – delnan 2010-11-04 15:56:38
[Python'=='vs'可能重复'比较字符串','有时会失败,为什么?](http://stackoverflow.com/questions/1504717/python-vs-is-comparing-strings-is -fails-sometimes-why) – SilentGhost 2010-11-04 16:02:50
@SilentGhost:不完全是,因为这涉及编译器意外插入字符串时的主题。 – 2010-11-04 16:06:52