为什么这些 str id 不一样?



upper()返回值

upper()方法返回给定字符串中的大写字符串。它将所有小写字符转换为大写。如果不存在小写字符,则返回原始字符串。

如果是这样的话,那么为什么它们的id不一样,因为这里的上限是将原始字符串返回到y?

x = 'PYTHONCORE'
y = x.upper()
print(id(y), id(x))

输出:

1925088550320 1925088583152

.upper方法的Python文档声明:

"返回字符串的副本,其中所有大小写字符都转换为大写。">

注意:字符串的副本,因此不同的对象具有不同的内存地址。问题解决了。

最新更新