python replace return不一致

时间:2018-08-10 04:28:57

标签: python replace return

与replace函数有关...我认为它与返回值不一致。

replace函数定义为:

  

str.replace(旧,新[,计数])
  返回所有字符串的副本   出现的旧子字符串由新字符串替换。如果可选参数   给出计数,仅替换第一个出现的计数。

但是...

->>> myStr = 'aaa'
->>> id(myStr.replace('a','c'))
1524508142928
->>> id(myStr.replace('b','c'))
1524508142760
->>> id(myStr)
1524508142760

该定义仅在实际替换某些内容时才适用。 您对此有何看法?

致谢

1 个答案:

答案 0 :(得分:0)

因为字符串是不可变的类型,所以这就是替换后获得不同存储位置的原因。当您对字符串变量进行任何修改时,都会创建一个新的变量。