Python入门
  • Python入门
  • 0. 基础知识与安装
    • 0. 计算机基础知识
    • 1. Windows下安装
    • 2. 通过软件包管理器安装
    • 3. 通过源码安装
    • 4. 多版本管理
    • 5. Python的基础知识
    • 6. Python的内存管理
  • 1. 基本语法
  • 2. 内置数据结构
    • 1. 列表
    • 2. 元组
    • 3. 字符串
    • 4. bytes与bytearray
    • 5. 集合 (set)
    • 6. 字典
  • 3. 操作
    • 迭代与迭代器
    • 封装与解构
    • 解析式与生成器
    • 切片操作
    • del操作
  • 4. 函数
    • 1. 函数的定义与调用
    • 2. 函数的参数与参数解构
    • 3. 函数的返回值
    • 4. 函数的作用域
    • 5. 闭包
    • 6. 默认值的作用域
    • 7. 递归
  • 5. 高阶函数
    • 0. 柯里化
    • 1. 高阶函数
    • 2. 装饰器
    • 3. 参数注解
  • A. 内建函数
  • B. 算法
    • 1. 排序
      • 1.冒泡法排序
      • 2. 简单选择排序
      • 3. 二元选择排序
  • C. 模块
    • collections
    • copy
    • datetime
    • keyword
    • math
    • time
  • D. 习题
    • 九九乘法表
    • 打印菱形、三角形、闪电
    • 斐波那契数列
    • 求素数
    • 猴子吃桃
    • 杨辉三角
    • 转置矩阵
Powered by GitBook
On this page
  • 导入方法
  • 用法
  • copy与deepcopy的区别

Was this helpful?

  1. C. 模块

copy

PreviouscollectionsNextdatetime

Last updated 6 years ago

Was this helpful?

导入方法

import copy

用法

x = copy.copy(y)        # make a shallow copy of y
x = copy.deepcopy(y)    # make a deep copy of y

copy与deepcopy的区别

参见:

直接赋值:简单地拷贝对象的引用,两个对象的id相同。就是对象的引用(别名),就是给当前内存中的对象增加一个“标签”而已。通过使用内置函数 id() ,可以看出指向内存中同一个对象。

copy拷贝父对象,不会拷贝对象的内部的子对象。即浅复制只复制对象本身,没有复制该对象所引用的对象。这时候id会出现变化

copy和deepcopy之间的区别仅与之相关复合对象(包含其他对象的对象,如列表或 类实例)。

deepcopy 完全拷贝了父对象及其子对象。即创建一个新的组合对象,同时递归地拷贝所有子对象,新的组合对象与原对象没有任何关联。

0.6 Python的内存管理