如何在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