深入理解Python中的replace方法

先讨论一下它的用法:

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

例如:

str1= "abcdef"
print(str1.replace("abc","AAA"))

运行结果:

AAAdef

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

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

输出:

AAAdef
abcdef
2140668440368
2140669587248

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

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

输出:

abcdef
2140668440368
AAAdef
2140669742000

仔细看看,转换前后 str1 的内存地址发生了变化,这是因为将 str 变量指向了修改后的。

AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh
方法一:QQ
方法二:微信:Jiabcdefh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI悦创|编程1v1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值