对可变类型来说,我们可以在原地对变量进行修改,也就是说它的存储空间是可读可写的,例如 list;而对于不可变类型来说,它的存储空间则是只读的,无法对其进行修改,如果需要对不可变类型进行某些操作来得到新的结果,则需要重新开辟一份存储空间来存放这个新产生的结果。
对于可变类型:+=代表追加操作,即 in-place 操作,在原地把另一个对象的内容追加到对象中。
对于不可变类型:+=代表连接或求和操作,其操作的结果会产生一个新的对象。
>>> l = [1, 2, 3, 4, 5]>>> id(l)43142024>>> l += [0]*5>>> l[1, 2, 3, 4, 5, 0, 0, 0, 0, 0]>>> id(l)43142024
当用 += 时, “l” 前后是一个。
相关推荐:《python视频教程》
>>> t = (1, 2, 3, 4, 5)>>> id(t)45438232>>> t += (0,)*5>>> t(1, 2, 3, 4, 5, 0, 0, 0, 0, 0)>>> id(t)45674568
当我们把列表换成元组时,结果又发生了变化。
>>>s = "hello">>> id(s)45794056>>><div>本文来源gaodai^.ma#com搞#代!码网</div>;s += "world">>> s'helloworld'>>> id(s)45495920
结果如同元组,“s” 在使用 += 拼接一个字符串后,被重新赋了值,已然不是之前的变量。反映在内存中就是,“s” 被另外开辟了一个存储空间来存放值。
以上就是python中+=连用是什么意思的详细内容,更多请关注搞代码gaodaima其它相关文章!