猿问

字符串的+=操作和=+操作的机制是什么?

# 三次a引用的对象一样>>> a = 's2@'>>> id(a)49220672>>> a = a + 's'>>> id(a)49220672>>> a += '@'>>> id(a)49220672
# 后两次a引用的对象一样>>> a = '#$@#$@'>>> id(a)49220544>>> a += '23'>>> id(a)49302888>>> a = a + 'sd'>>> id(a)49302888
# 三次a引用的对象都不一样>>> a = '@#$#@%'>>> id(a)49220608>>> a += '^%&%&'>>> id(a)49302728>>> a = a + '&^**%$^'>>> id(a)49296880

是什么原因导致出现三种不同的结果。


翻阅古今
浏览 492回答 1
1回答

富国沪深

产生这个的原因是python当中的池化机制,简单的常用的较短的字符串会存在内存当中,利用内存池技术来提高性能。具体的可以参考这个回答如何理解python中的池化
随时随地看视频慕课网APP

相关分类

Html5
我要回答