栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python字符串的驻留机制 |Python技能树征题

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python字符串的驻留机制 |Python技能树征题

Python字符串的驻留机制

题目:在交互模式下,下列那个选项中,a,b,c三个变量没有共用同一片内存空间

请在以下选项中找出正确答案:

●A
a = 'panda'
b = 'panda'
c = 'panda'
●B
a = 'panda'
b = "panda"
c = '''panda'''
●C
a = 'panda%'
b = 'panda%'
c = 'panda%'
●D
a = ' '
b = ' '
c = ' '

正确答案: C

答案解析:
在Python中字符串是基本数据类型,是一个不可变的字符序列,Python字符串的驻留机制,是仅保存一份相同且不可变字符串的方法,不同的值存放在字符串的驻留池中,Python的驻留机制对相同的字符串只保留一份拷贝,后续创建相同字符串时,不会开辟新空间,而是把该字符串的地址赋给新创建的变量。

A选项中,三个变量的内容都是一样的,根据驻留机制定义,可知他们指向内存的标识也是一样的。
B选项中,无论是单引号还是双引号、三引号,这都是Python创建字符串的一种方式,不影响内容,他们指向内存的标识也是一样的。
C选项是正确答案,PyCharm等工具对字符串进行了优化处理,所以在PyCharm上运行时,C选项也是可以指向同一片内存空间的,但是题目要求在交互模式下,所以C答案错误。
D选项中,字符串的长度为0或1时,他们指向内存的标识也是一样的。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/316156.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号