如果python字符串是不可变的,如何如下更改: a = "abc" print a a = "cde" print a输出:abccde这实际上是在创建一个新变量并更改为指向该变量吗?
3 回答
杨魅力
TA贡献1811条经验 获得超6个赞
Python字符串是不可变的。您正在做的只是a使用两个不同的字符串重新分配变量,这与不变性无关。
在显示的代码中,没有创建新变量,只有a。并且在分配中,a每次都指向一个不同的字符串。要查看字符串是不可变的,请看以下示例:
a = 'abxde'
b = a.replace('x', 'c')
a
=> 'abxde'
b
=> 'abcde'
如您所见,a该replace()方法没有被方法修改,而是由该方法创建了一个新字符串,我们将其分配给b,这就是替换字符串的结尾。所有执行更改的字符串方法都是这样:它们不会就地修改原始字符串,它们会创建并返回一个新的字符串。
添加回答
举报
0/150
提交
取消