gpt4 book ai didi

python - 为什么使用 '==' 或 'is' 比较字符串有时会产生不同的结果?

转载 作者:IT老高 更新时间:2023-10-28 11:58:07 26 4
gpt4 key购买 nike

两个字符串变量设置为相同的值。 s1 == s2 总是返回 True,但 s1 is s2 有时返回 False

如果我打开我的 Python 解释器并进行相同的 is 比较,它会成功:

>>> s1 = 'text'
>>> s2 = 'text'
>>> s1 is s2
True

这是为什么?

最佳答案

is 是身份测试,== 是平等测试。您的代码中发生的事情将在解释器中模拟如下:

>>> a = 'pub'
>>> b = ''.join(['p', 'u', 'b'])
>>> a == b
True
>>> a is b
False

所以,难怪他们不一样,对吧?

换句话说:a is b 等价于 id(a) == id(b)

关于python - 为什么使用 '==' 或 'is' 比较字符串有时会产生不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1504717/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com