我只是在玩弄 id() 函数并注意到,如果您传递一个尚未分配给变量的值,它不会给出错误,而是返回一个内存地址。 那么 id() 函数是否将该值分配给一个空的内存位置?
>>> print id(18)
14569728
>>> b = 18
>>> print id(b)
14569728
>>> print id('check')
140297315282112
>>> c = 'check'
>>> print id(c)
140297315282112
最佳答案
值/文字是对象,因此id()
将始终为它们返回有效结果。除此之外,在 CPython 中,从 -1 到 256 的整数文字以及短字符串文字是 interned , 所以他们在第一次被访问后会有一个固定的ID。
关于python - python 中的 id() 函数是否创建新值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9475899/