gpt4 book ai didi

python - is comparison returns False with strings using same id

转载 作者:行者123 更新时间:2023-11-28 19:11:17 26 4
gpt4 key购买 nike

我在玩 Python is== 运算符。据我所知,is 运算符检查两个对象是否具有相同的 id,但在我的例子中,即使两个子字符串具有相同的 id,运算符也会返回 False。

代码如下:

#! /usr/bin/python3
# coding=utf-8
string = "HelloWorld"

print(id(string)) #140131089280176
print(id(string[0:5])) #140131089251048
print(id(string[-10:-5])) #140131089251048


print(string[0:5] == string[-10:-5]) #True
print(string[0:5] is string[-10:-5]) #False

子字符串与原始字符串的 id 不一样,但为什么 2 个子字符串具有相同的 id 时运算符返回 false?

最佳答案

对我来说:

print(id(string[0:5]))
print(id(string[-10:-5]))

具有不同的 ID,因此,这些答案:

print(string[0:5] == string[-10:-5])    #True
print(string[0:5] is string[-10:-5]) #False

如他们所料。

你确定你没有犯错吗?

# 我会把它作为评论发布,但现在还不能

关于python - is comparison returns False with strings using same id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39807008/

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