字符串的不可变性¶
在 Python 中,每一个对象都可以分为不可变性或者可变性。在核心类型中,数字、字符串和元组是不可变的。
字符串在 Python 中一旦创建就不能就地改变,例如不能对其某一位置进行赋值而改变字符串。下面的语句就会出现如下语法错误:“TypeError: 'str' object does not support item assignment”。
关于不可变性,我们再看一个例子:
上述代码中,str1 和 str2 都指向存储在内存中某个地方的字符串对象"welcome"。我们可以通过id() 函数来测试 str1 和 str2 是否真的指向同一个对象。
id() 函数可以得到对象在内存中的存储地址。
如下:
我们可以看到,str1 和 str2 都指向同一个内存地址,因此,他们都指向同样的对象“welcome”。下面让我们再编辑 str1 的内容看看:
我们可以看到,现在变量 str1 指向了一个完全不同的内容地址,这也说明,我们对 str1 的内容操作实际上是新建了一个新的字符串对象。
最后更新:
2022年10月15日 01:02:48
创建日期: 2022年9月5日 00:56:03
创建日期: 2022年9月5日 00:56:03
Contributers: