如何在Python中更改不可变字符串的ID?

Python中的字符串是不可变的,这意味着一旦创建了字符串,就无法更改它。创建字符串时,如果创建相同的字符串并将其分配给另一个变量,则它们都将指向相同的字符串/内存。例如,

>>> a = 'hi'

>>> b = 'hi'

>>> id(a)

43706848L

>>> id(b)

43706848L

字符串对象的这种重用在Python中称为Interning。相同的字符串具有相同的ID。但是,不能保证Python可以实作字符串。如果您创建的字符串不是代码对象常量,或者包含字母+数字+下划线范围之外的字符,则将看到该id()值未被重用。

我们如下更改给定字符串的id。我们将其分配给两个不同的标识符。找到时这些变量的id是不同的。这是因为给定的字符串包含字母,数字和下划线以外的字符。

>>> a = 'weworks_45#@$'

>>> b = 'weworks_45#@$'

>>> id(a)

96226208L

>>> id(b)

91720800L

以上是 如何在Python中更改不可变字符串的ID? 的全部内容, 来源链接: utcz.com/z/330988.html

回到顶部