python中解包赋值为什么不能交换字符串中的字母例:s="hello" m=1 n=2 s[m],s[n]=s[n],s[m]为什无法交换?

python中解包赋值为什么不能交换字符串中的字母例:s="hello" m=1 n=2 s[m],s[n]=s[n],s[m]为什无法交换?

'str' object does not support item assignment ,字符串类型不支持切片操作


看看这个就都明白了

Python中字符串是“不可变”对象,可以读取 不可以修改

对字符串内容进行交换,本质是想要修改字符串,所有不可以

因为字符串不是数组啊,虽然你可以像操作数组一样的从里面取出字符来,但是那是切片操作,结果返回的是新列表,你修改它并不修改原来的字符串