深入理解Python中的replace方法

先讨论一下它的用法:

str = “abcdef”
str.replace(old,new,[max])方法用于字符串的修改,将字符串str中的字符old替换为
新的new字符串,max是可选参数,可以写也可以不写,不写的情况下,表示将str中所有的old替换为new,写之后表示最大替换次数。最后将修改后的字符串给返回,他是有返回值的
例如:
str= “abcdef”
print(str.replace(“abc”,’AAA’))
运行结果:
AAAdef

但是,字符串是不可以修改的类型,它并没有修改以前的str,可以看下列代码:

str= "abcdef"
print(str.replace("abc",'AAA'))
print((str))
print(id(str))
print(id(str.replace("abc",'AAA')))

结果截图:这里写图片描述
以前的还是以前的,他们的内存不一样,当你引用str这个变量的时候,并没有得到你想要的修改后的值,如果你想要通过str的引用得到修改后的值,那么,将str这个变量指向修改后的内存地址即可(目前我只知道这种方法,其他方法比较麻烦,不过都修改不了最初str内存里的值):

str= "abcdef"
print(str)
print(id(str))
str = str.replace("abc",'AAA')
print(str)
print(id(str))

运行截图:
这里写图片描述
仔细看看,转换前后str的内存地址发生了变化,这是因为将 str 变量指向了修改后的

  • 30
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值