对可变类型来说,我们可以在原地对变量进行修改,也就是说它的存储空间是可读可写的,例如 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 >>>s += "world" >>> s'helloworld' >>> id(s) 45495920
结果如同元组,“s” 在使用 += 拼接一个字符串后,被重新赋了值,已然不是之前的变量。反映在内存中就是,“s” 被另外开辟了一个存储空间来存放值。
Atas ialah kandungan terperinci python中+=连用是什么意思. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!