【发布时间】:2019-01-21 15:27:19
【问题描述】:
查看以下 IPython (Python 3.7) 会话:
In [1]: id('hello')
Out[1]: 140300950123104
In [2]: id('hello')
Out[2]: 140300963300384
In [3]: 'hello' is 'hello'
Out[3]: True
In [4]: '{} - {}'.format(id('hello'), id('hello'))
Out[4]: '140300946565808 - 140300946565808'
表达式 1 和 2 表示每次初始化字符串 hello 时,它确实获得了不同的 id。然而,当在同一个表达式中初始化时,它们似乎得到了与表达式 3 和 4 的结果相同的 id。为什么会这样?
【问题讨论】:
标签: python