在python 3.5中,是否有可能预测何时会得到一个实际的字符串,或者我们何时会得到一个副本?在阅读了关于此问题的几个Stack Overflow答案之后,我发现this one最有帮助但仍不全面。比我看着Python docs,但实习默认情况下不保证cpython的字符串实习规则是什么?
通常,在Python程序中使用的名称被自动拘留,并字典用来装模块,类或实例属性已经实习键。
所以,我的问题是关于内部intern()
条件,即决策(是否实习生字符串字面与否):为什么同样的代码工作在一个系统上,而不是在一个又一个,什么规则确实作者在mentioned topic的回答说
时意味着当发生这种情况的规则是相当令人费解
只要使用== ==忘记它。无论如何它都是实现细节。 – wim
@erip我相信OP知道这一点。在通过样板之后,这个问题似乎是在问实习规则。 – timgeb
如果你真的想知道实现中的差异,指定两个系统上安装的Python版本可能是有意义的。 –