不是
   
    总是
   
   比较匹配字符串的速度更快。相反,比较共享相同id的字符串总是更快。身份确实是这种行为的原因(正如@S3DEV精辟地解释的那样)的一个证明是:
  
  >>> x = 'toto'
>>> y = 'toto'
>>> z = 'totoo'[:-1]
>>> w = 'abcd'
>>> x == y
True
>>> x == z
True
>>> x == w
False
>>> id(x) == id(y)
True
>>> id(x) == id(z)
False
>>> id(x) == id(w)
False
>>> timeit.timeit('x==y', number=100000000, globals={'x': x, 'y': y})
3.893762200000083
>>> timeit.timeit('x==z', number=100000000, globals={'x': x, 'z': z})
4.205321462000029
>>> timeit.timeit('x==w', number=100000000, globals={'x': x, 'w': w})
4.15288594499998
  
   比较具有相同id的对象总是更快(正如您从示例中注意到的,比较
   
    x
   
   和
   
    z
   
   相比于
   
    十、
   
   和
   
    y
   
   ,那是因为
   
    十、
   
   和
   
    Z
   
   不要共享相同的id)。