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精品资源汇总:赋值与深浅拷贝!

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

  • 简介深浅拷贝

    深浅拷贝 python 直接赋值,浅拷贝和深拷贝 直接赋值 其实就是对象的引用 (可以理解成浅拷贝) 浅拷贝: 拷...

  • Python中的赋值及深浅拷贝

    Python中的赋值及深浅拷贝 赋值 示例 打印 浅拷贝 示例 打印 深拷贝 示例 打印 三层列表演示 示例 打印

  • copy见解

    拷贝就是拷贝,何来深浅之说? Python中,对象的赋值,拷贝(深/浅拷贝)之间是有差异的,如果使用的时候不注意,...

  • python中的赋值与深浅拷贝

    对于赋值运算来说,l1与l2指向的是同一个内存地址,所以他们是完全一样的。 对于浅copy来说,第一层创建的是新的...

  • Python对象的引用,深拷贝和浅拷贝

    前言 在Python中,Python对象的赋值,深浅拷贝之间是有差异的,今天就来总结一下三者之间的区别. 对象赋值...

  • 引用赋值与深浅拷贝

    1.引用赋值 是地址的赋值,将对象指针赋值给一个变量,让此变量指向对象。 2.浅拷贝 只会将对象的各个属性进行依次...

  • 解构赋值与深浅拷贝

    文章序 开发中遇到了一个问题,正好没有深入去研究解构赋值和深浅拷贝,借此机会学习一波,整理如下 函数的形参写法有些...

  • Python中的赋值、深浅拷贝

    拷贝对象的意义在于:如果需要在不更改源数据的情况下,修改数据,此时需要一个拷贝对象 python提供copy来完成...

  • python中的赋值,深浅拷贝

    这个是Python中的比较重要的知识点。 自己画了一个知识导图,下面再详细解释。 本文有三个方面的问题要说明: 1...

网友评论

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

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