【发布时间】:2010-11-26 10:03:36
【问题描述】:
为什么"hello" is "hello" 在 Python 中产生 True?
我阅读了以下here:
如果两个字符串字面量相等,则它们被置于相同的位置 内存位置。字符串是不可变的实体。没有伤害可以 完成。
所以每个 Python 字符串在内存中只有一个位置?听起来很奇怪。这是怎么回事?
【问题讨论】:
-
还可以查看用于检查内存位置的
id函数:print id("hello") -
bzlm,pyref.infogami.com/intern 链接已经失效,但是 archive.org 在这里有一个副本:
web.archive.org/web/20090429040354/http://pyref.infogami.com/…
然而,虽然它经常是真的,这并不总是正确的,正如@bobince 在下面很好地展示的那样。
标签: python identity string-comparison object-comparison