关于if语句后字符串内容的更改
info = 'my name is dewei'
print(len(info)) #长度为16
if len(info) > 10 and len(info) != 15:
print(info.replace('dewei', 'xiaomu'), id(info))
#输出结果是: my name is xiaomu 1877937982400
print(info, id(info)) #这里的输出结果怎么是: my name is dewei 1877937982400 ??
内容dewei 不是已经被 xiaomu 替代了嘛,为什么第二个print输出的结果还是dewei? 这两个info的id还一样
正在回答
同学,你好!同学的info 地址是一样的,是同一个变量,所以是一样的
info.replace('dewei', 'xiaomu')和info 的地址是不一样的。info.replace('dewei', 'xiaomu')返回了替换后的字符串,把返回的内容存储到一个新的地址空间。不影响原来info的 地址和内容。同学可以使用id 分别对info.replace('dewei', 'xiaomu')和info 进行查看地址空间和输出内容,发现他们地址和内容都是不同的
祝学习愉快~
- 参与学习 人
- 提交作业 16247 份
- 解答问题 4470 个
全新版本覆盖5大热门就业方向:Web全栈、爬虫、数据分析、软件测试、人工智能,零基础进击Python全能型工程师,从大厂挑人到我挑大厂,诱人薪资在前方!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星