为了账号安全,请及时绑定邮箱和手机立即绑定

Python是不可变的字符串

Python是不可变的字符串

RISEBY 2021-04-01 05:39:22
如果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,这就是替换字符串的结尾。所有执行更改的字符串方法都是这样:它们不会就地修改原始字符串,它们会创建并返回一个新的字符串。


查看完整回答
反对 回复 2021-04-05
?
动漫人物

TA贡献1815条经验 获得超10个赞

  • 是的,在Python中,字符串是不可变的

  • 您的代码未创建新变量

  • 您的代码为变量分配了a对另一个字符串的引用


查看完整回答
反对 回复 2021-04-05
?
波斯汪

TA贡献1811条经验 获得超4个赞

它正在创建一个新对象并更改a为指向该新对象。


查看完整回答
反对 回复 2021-04-05
  • 3 回答
  • 0 关注
  • 273 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信