python - python 中的 id() 函数是否创建新值?

标签 python

我只是在玩弄 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/

相关文章:

php - 如何从php执行python文件来更新mysql表?

python - 访问第一个元素后无法通过 xpaths 循环访问剩余元素 - Webscraping Selenium Python

python - 如何使用 OpenCV 找到红色区域?

python - 如何使用 SerializerMethodField 创建延迟字段?

python - 尝试在此单行循环中增加 Y

python - (Python) 如何测试文件中是否包含字符串

python - 将条目添加到列表的开头并删除最后一个

python - 在 python 中导入模块时是否有类似于 `return` 的情况?

python - 用与另一个数组的零相对应的零替换元素的快速方法

Python Matplotlib - 保存的图像在使用 for 循环时被覆盖