字符串的不可变性¶
在 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: