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

python中的id()函数是否创建新值?,python,Python,我只是在玩id()函数&注意到如果传递一个尚未分配给变量的值,而不是给出一个错误,它将返回一个内存地址。 那么id()函数是否将该值分配给空内存位置 >>> print id(18) 14569728 >>> b = 18 >>> print id(b) 14569728 >>> print id('check') 140297315282112 >>> c = 'check' >>> p

我只是在玩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的整数文本以及短字符串文本都是,因此它们在第一次访问后将具有一个常量ID。

值/文本是对象,因此
ID()
将始终为它们返回一个有效的结果。除此之外,在CPython中,从-1到256的整数文本以及短字符串文本都是,因此在第一次访问它们之后,它们将具有一个常量ID