Python:为什么某些字符串匹配使用"是"和其他人不一样?

时间:2015-09-03 17:41:46

标签: python identity equality

刚开始使用Python(2.0,如果这很重要),这纯粹是为了好奇,但我想知道在下面的场景中使用" ==&#34确切地发生了什么。 ;和"是":

a = 'cats'
a == 'cats'
True
a is 'cats'
True

a = 'cats!'
a == 'cats!'
True
a is 'cats!'
False

不知何故,包含标点符号会阻止使用is的身份匹配(这是有道理的,因为它是一个字符串而不是一个整数值),但为什么第一个例子(' cats&#39 ;没有!)评价为真?

我以为我已经掌握了" =="和"是"什么是检查平等和身份的意义,但这让我有疑问,好吧......一切。

0 个答案:

没有答案