【问题标题】:Does the id() function in python create new values?python 中的 id() 函数是否创建新值?
【发布时间】:2012-02-28 03:14:28
【问题描述】:

我只是在玩 id() 函数并注意到,如果您传递一个尚未分配给变量的值,它不会给出错误,而是返回一个内存地址。 那么 id() 函数是否将该值分配给一个空的内存位置?

>>> print id(18)
14569728
>>> b = 18
>>> print id(b)
14569728
>>> print id('check')
140297315282112
>>> c = 'check'
>>> print id(c)
140297315282112

【问题讨论】:

    标签: python


    【解决方案1】:

    值/文字对象,所以id()总是为它们返回一个有效的结果。除此之外,在 CPython 中,从 -1 到 256 的整数字面量以及短字符串字面量是 interned,因此它们在第一次被访问后会有一个常量 ID。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-12
      • 1970-01-01
      相关资源
      最近更新 更多