杨魅力
Python字符串是不可变的。您正在做的只是a使用两个不同的字符串重新分配变量,这与不变性无关。在显示的代码中,没有创建新变量,只有a。并且在分配中,a每次都指向一个不同的字符串。要查看字符串是不可变的,请看以下示例:a = 'abxde'b = a.replace('x', 'c')a=> 'abxde'b=> 'abcde'如您所见,a该replace()方法没有被方法修改,而是由该方法创建了一个新字符串,我们将其分配给b,这就是替换字符串的结尾。所有执行更改的字符串方法都是这样:它们不会就地修改原始字符串,它们会创建并返回一个新的字符串。