Python精品资源汇总:赋值与深浅拷贝!

作者: Python学习 | 来源:发表于2018-04-11 23:14 被阅读72次

    Python当中对于拷贝,分为两种类型。一种是数字和字符串,另一种就是列表、元组、字典等其他类型了。

    输出结果是:

    2、浅拷贝

    查看结果发现,对于深拷贝,数字和字符串在内存当中用的也是同一块地址。这里还是要推荐下小编的Python学习裙:【五 八 八,零 九 零,九 四 二】不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2018最新的Python资料和0基础入门教程,欢迎初学和进阶中的小伙伴。在不忙的时间我会给大家解惑

    所以综上所述,对于数字和字符串的赋值、浅拷贝、深拷贝在内存当中用的都是同一块地址。原理如下图:

    二、Python字典、列表、元组等其他类型的拷贝

    1、赋值

    举个栗子:

    结论:对于python赋值,字典、列表、元组等其他类型用的内存地址不会变化。

    2、浅拷贝

    举个栗子:

    结果:

    通过以上结果发现,python进行深拷贝时,python字典里面的第一层和里面嵌套的地址都已经变了。对于深拷贝,它会拷贝多层,将第二层的列表也拷贝一份,如果还有第三层嵌套,那么第三层的也会拷贝,但是对于里面的最小元素,比如数字和字符串,这里就是“wu”,123,“alex”,678之类的,按照python的机制,它们会共同指向同一个位置,它的内存地址是不会变的。原理如下图:

    使用python深拷贝的时候,发现只有新的字典的cpu值被修改了,原来的字典里面的cpu值没有变。

    相关文章

      网友评论

        本文标题:Python精品资源汇总:赋值与深浅拷贝!

        本文链接:https://www.haomeiwen.com/subject/zbjtkftx.html