实列被创建后,他的身份和类型就不可以改变
如果对象值是可以修改的,则称为可变对象;list,dict
当进行修改操作时,可变类型传递的是内存中的地址,也就是说,直接修改内存中的值,并没有开辟新的内存。
执行 i += 1 时,内存地址都会变化,因为int 类型是不可变的。对于不可变类型int,无论创建多少个不可变类型,只要值相同,都指向同个内存地址。同样情况的还有比较短的字符串。
如果对象的值不可修改,则称为不可变对象;string,number,tuple
不可变类型被改变时,并没有改变原内存地址中的值,而是开辟一块新的内存,将原地址中的值复制过去,对这块新开辟的内存中的值进行操作。