目标:掌握复杂不可变类型(元组内嵌套列表)的深浅拷贝对比

    一:复杂不可变类型(元组内嵌套列表)的深浅拷贝对比

    元组内嵌套列表的浅拷贝:浅拷贝后元组不会产生新的内存空间,并且元组内嵌套的列表也不会产生新的内存空间,只是单纯的拷贝地址,原对象的引用!浅拷贝前后的数据也不是相互独立的!

    代码:

    image.png


    元组内嵌套列表的深拷贝:元组深拷贝之后会产生新的内存空间存放复制后的元组,并且元组内的列表也会开辟新的内存空间,不再是单纯的地址复制,这点从复制前后列表的地址不同可看出,而且复制后两个元组的数据是相互独立的(更改原元组内列表的数据,复制的元组列表内数据不会发生变化)

    代码:

    image.png


    重点:

    1:复杂不可变类型数据(元组内嵌套数据)的深拷贝,如果元组内嵌套的是可变数据类型(列表)就会开辟新的内存空间保存可变的嵌套数据,如果嵌套的是不可变数据类型(元组),则不会开辟新的内存空间存放嵌套的数据!

    2:复杂不可变类型数据(元组内嵌套数据)的浅拷贝,不管元组内嵌套的是可变还是不可变数据类型,都不会开辟新的内存空间,直接内存地址的引用,类似于超链接