PYTHON中的可变和不可变字符串

问题描述

我刚刚介绍了python中的可变结构和不可变结构。 在Python语言中写道,字符串是不变的,即我们不能更改它们 请考虑以下代码:

str1='Rohit'
str1.replace('R','M')

这给出了输出:

'Mohit'
现在,有人说是变量str1指向字符串‘RoHit’,在str1.place()之后,它指向‘MoHit’ 请考虑以下代码:

'Rohit'.replace('R','M')

这也为我提供了输出:

'Mohit'

那么‘字符串是不可变的’是什么意思?


解决方案

字符串没有任何允许更改字符串值的方法。换句话说:字符串是不可变的。

当您调用str.replace时,将生成并返回一个新的字符串。

>>> s1 = 'Rohit'
>>> s2 = s1.replace('R', 'M')
>>> 
>>> s1
'Rohit'
>>> s2
'Mohit'

如您所见,s1仍具有其原始值。

相关文章