首页 > 其他分享 >比较赋值、浅拷贝、深拷贝

比较赋值、浅拷贝、深拷贝

时间:2022-09-30 18:12:11浏览次数:49  
标签:78 数据类型 lst 90 拷贝 prototype 比较 赋值

 1 """
 2 赋值、浅拷贝、深拷贝区别比较
 3 """
 4 import copy
 5 
 6 # 赋值
 7 prototype_lst = [1, 2, 5, [78, 90]]
 8 a = prototype_lst
 9 prototype_lst.append(9)
10 print(prototype_lst, a)
11 
12 """
13 浅拷贝和深拷贝的区别体现在对象为嵌套型的可变数据类型上
14 首先还要明确一点,无论是浅拷贝还是深拷贝,拷贝对象后,是否会开辟新的内存取决于对象是否为可变数据类型,
15 可变的数据类型,都会开辟新内存,不可的变数据类型,则不会开辟新内存地址
16 """
17 
18 # 浅拷贝
19 prototype_lst.pop(-1)
20 shallow_b = prototype_lst.copy()
21 # 原始列表子对象发生变化,其被拷贝对象内部子对象也跟着改变
22 prototype_lst[-1].append(100)
23 print(prototype_lst, shallow_b)
24 
25 # 深拷贝
26 deep_b = copy.deepcopy(prototype_lst)
27 # 原始列表子对象发生变化,其被拷贝对象内部子对象不变
28 prototype_lst[-1].append(0)
29 print(prototype_lst, deep_b)
30 # 不可变数据类型的浅拷贝和深拷贝有兴趣可以试一试

output:

  [1, 2, 5, [78, 90], 9] [1, 2, 5, [78, 90], 9]
  [1, 2, 5, [78, 90, 100]] [1, 2, 5, [78, 90, 100]]
  [1, 2, 5, [78, 90, 100, 0]] [1, 2, 5, [78, 90, 100]]

标签:78,数据类型,lst,90,拷贝,prototype,比较,赋值
From: https://www.cnblogs.com/shixiaogu/p/16745770.html

相关文章

  • 比较 Bloom 过滤器和标记化以匹配去识别的患者数据
    比较Bloom过滤器和标记化以匹配去识别的患者数据了解Datavant用于匹配数据的标记化Datavant的使命是连接全球医疗保健数据,以改善患者治疗效果,同时维护患者隐私。H......
  • 个人博客网站用什么服务器比较好?
    ​个人博客网站用什么服务器比较好?很多新手用户刚接触都是从搭建自己的个人博客网站开始的,那么对于初次搭建博客网站的用户来说,选择什么样的服务器比较合适呢?今天就简......
  • 请推荐下比较适合中小企业的ERP系统,如odoo,除前期开发和不定期完善,有没有其他固定月费
    odoo的话你自己就可以下载开源的安装使用的啊,如果你要别人帮你开发和完善做技术服务的话一般都还是要年费的,主要是因为要帮你做维护或修bug什么的,自己能搞定的话自然不需要......
  • 我公司是属于生产制造业,最近考虑实施ERP,生产制造业的ERP那家比较好?
    直接告诉你用哪家ERP,那我就太不负责任了,不同企业的规模选用不同的系统,匹配很重要!比如你大型企业,业务管理都比较标准规范,变化性也不大,不差钱预算没问题(千万元起步),你可以考虑......
  • 生产管理ERP哪一款比较好?
    生产管理用的是MES,企业管理用的才是ERP,这个得弄清楚!如果要谈生产管理,每家工厂的区别、差异性更大,在工厂甲用得很好的管理系统搬到工厂乙,大概率水土不服,不是软件本身的问题,......
  • js中拼接字符串作为变量名后赋值
    js中有业务场景需要生成很多的变量,但是变量的名称是根据参数的不同而区分的。一般情况下我们会构建一个数组,然后通过数组下标的形式来操作。 意外发现一个方法可......
  • Java中属性赋值
    Java中对属性进行赋值对属性可以赋值的位置默认初始化显式初始化/5.在代码块中赋值在构造器中初始化有了对象以后,可以通过“对象.属性"或“对象.方法”的方式进行......
  • 关于性能比较的应用误区
    今天周末,就不写太长的文章了,刚不小心看了篇性能比较的文章,有感而就写了此篇。​ 这年头,好多人都对性能比较产生了兴趣,然后就开始写比较示例,之后就得出了一个正确但误导新手......
  • 比较出名的导航类网站
    网址导航是把很多网站集合起来,按照一定的条件进行分类的网站。网址导航方便网民快速找到自己需要的网站,可以直接到需要的网站,而不必记住各个网站的网址。现在的网址导航一......
  • NoSQL数据库与关系数据库的比较
    SQL,即结构化查询语言,是传统的关系型数据库的查询语言。SQL数据库能够通过简化CRUD操作,处理数据库中的结构化数据。此处的CRUD代表了创建(create)、检索(或读取,retrieve、r......