zoukankan      html  css  js  c++  java
  • 关于python深拷贝和浅拷贝的问题

     1 import copy
     2 #names = "jessie jack serena sally eden"
     3 names = ["jeessie","jacker","serrena",["jeesie","saily"],"edeen"]
     4 name2 = copy.copy(names)
     5 print(names)
     6 print(name2)
     7 names[2] = "小敏"
     8 names[3][0] = "JEESSIE"
     9 print(names)
    10 print(name2)

    ['jeessie', 'jacker', 'serrena', ['jeesie', 'saily'], 'edeen']
    ['jeessie', 'jacker', 'serrena', ['jeesie', 'saily'], 'edeen']
    ['jeessie', 'jacker', '小敏', ['JEESSIE', 'saily'], 'edeen']
    ['jeessie', 'jacker', 'serrena', ['JEESSIE', 'saily'], 'edeen']

    比如说房间里有小明和小丽,小美知道这个信息后呢,就去这个房间(指针)了,这样,这个房间是不是有三个人了?

    浅拷贝:就是把这个指针赋值一个变量,如果你对这个变量做操作,这条记录也会随之变化。

    #edit for Kris_ma
    import copy
    #names = "jessie jack serena sally eden"
    names = ["jeessie","jacker","serrena",["jeesie","saily"],"edeen"]
    name2 = copy.deepcopy(names)
    print(names)
    print(name2)
    names[2] = "小敏"
    names[3][0] = "JEESSIE"
    print(names)
    print(name2)

    ['jeessie', 'jacker', 'serrena', ['jeesie', 'saily'], 'edeen']
    ['jeessie', 'jacker', 'serrena', ['jeesie', 'saily'], 'edeen']
    ['jeessie', 'jacker', '小敏', ['JEESSIE', 'saily'], 'edeen']
    ['jeessie', 'jacker', 'serrena', ['jeesie', 'saily'], 'edeen']

    深拷贝就像 泰国效仿美国的制度,把美国那套政权完全照搬过来,在自己国内实行,直到某一天,泰国发现一些列的问题,就发生了动乱。这样美国会因为这套制度发生动乱吗?所以深拷贝就是把这条记录完全复制给一个全新的变量,这样无论怎么操作这个新的变量,对其之前的不会有任何影响。

  • 相关阅读:
    mac 配置 iterm2
    python面试题
    待办事项--flask
    八皇后问题c语言版(xcode下通过)
    对分布式一些理解
    观察者模式
    用redis实现悲观锁(后端语言以php为例)
    只用200行Go代码写一个自己的区块链!(转)
    php的生命周期的概述
    linux网络编程1 最简单的socket编程
  • 原文地址:https://www.cnblogs.com/wuxiaoshi/p/9722445.html
Copyright © 2011-2022 走看看