1481
is
是身份测试,==
是平等测试。你的代码中发生的情况将在解释器中进行模拟,如下所示:
>>> a = 'pub'
>>> b = ''.join(['p', 'u', 'b'])
>>> a == b
True
>>> a is b
False
所以,难怪他们不一样吧?
换句话说:is is id(a) == id(b)
Python-为什么使用'=='或'is'比较字符串有时会产生不同的结果?
1481
is
是身份测试,==
是平等测试。你的代码中发生的情况将在解释器中进行模拟,如下所示:
>>> a = 'pub'
>>> b = ''.join(['p', 'u', 'b'])
>>> a == b
True
>>> a is b
False
所以,难怪他们不一样吧?
换句话说:is is id(a) == id(b)