关于tuple数组的不可变特性
今天在学习过程中遇见了一组代码,对于现在的我来讲有些神奇
test = 1, 2
test += 12, 34
乍一看完全懵逼,不知道是为啥
对于我 来说,看见不懂的代码,第一时间就是想到在交互命令行来直接执行,瞅着比较直观,何况又是这种简单的代码
执行完之后就一目了然了,但是又有点问题的感觉,tuple数组不是号称是不可变的数据类型么,也就是不能再往里添加元素了啊
再执行如下代码,就恍然大悟了,还是自己理解不够
test = 1, 2 这行代码是给test赋值(1, 2), 只是括弧可以省略
test += 12, 34 这行代码相当于是数组的相加,赋值给一个新的变量(变量名还是test),原有数组并没有变化,只是没有变量指向原有对象(1, 2),应该是被回收了
于是,变量test指向了新的数组(1, 2, 12, 34)