首页 > 解决方案 > python中的字符串是可变的,如果不解释这个?

问题描述

我已经声明了一个字符串“y as hello”,而不是尝试使用 python 中的 replace 方法将字符“h”更改为“m”,并且我检查了 type(y): 它的显示字符串,但是当我用谷歌搜索时,它的显示字符串是不可变的。 .. 请解释

>>> y="hello"

>>> y=y.replace("h","m")

>>> y


'mello'
>>> type(y)

<class 'str'>

标签: pythonstring

解决方案


你没有改变字符串,你改变了字符串y指向的内容。

y最初指向"hello",然后您运行该行y=y.replace("h","m")并导致y指向 String "mello"。原始字符串"hello"从未发生过变异,因为字符串确实是不可变的。


推荐阅读