gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 21:14:04 24 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/54846138/

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