【发布时间】:2021-12-08 14:11:52
【问题描述】:
来自 Python 文档:
6.2.2. Literals
...
对具有相同值(程序文本中的相同出现或不同出现)的文字进行多次评估可能会获得具有相同值的相同对象或不同对象。
我需要理解上面这段话,但觉得很不安。我需要你的帮助来澄清某些事情:
>>> " Got any rivers you think are uncrossable ?" #1
' Got any rivers you think are uncrossable ?' #2
>>> " Got any rivers you think are uncrossable ?" #3
' Got any rivers you think are uncrossable ?' #4
#1 和#3 是两个具有相同值的文字,它们分别获得相同的对象#2 和#4。这些对象的值是相同的。 他们的评价怎么会得到具有相同价值的不同对象呢? 这里的评估结果和发生的事情有什么关系?
在程序文本中出现相同或不同 发生
如何区分同一事件和不同事件? 发生地点与评估结果有什么关系?
【问题讨论】:
-
您可以想象为什么会发生这种情况。合并小字符串是有意义的,但是对于大字符串,创建新对象可能比扫描现有字符串文字集以寻找匹配项更便宜。正如我所说,这与您的代码无关。
标签: python literals evaluation