为什么is-operator不能正常运行==?

时间:2013-04-29 00:50:28

标签: python

如果我理解正确,is运算符可以取代==。

为什么写作时

if inpty == "exit":
    return

函数退出,但是当我写

if inpty is "exit":
    return

该功能没有?

inpty是输入的值。

2 个答案:

答案 0 :(得分:3)

is比较身份,而==则比较相等
换句话说,a is bid(a) == id(b)相同。

答案 1 :(得分:1)

因为在这种情况下,is运算符正在测试身份,而不是值。