## copy与deepcopy区别
1、deepcopy:
将复制对象完全复制一边,并作为一个独立的新个体单元存在。即使改变被复制对象,deepcopy新个体也不会发生变化
2、copy:
不产生一个独立的对象,在原有数据上打一个标签,一个标签中数据被改变,另一个标签的数据随之变化。
**示例1**
```
import copy
origin = [1, 2, [3, 4]]#origin 里边有三个元素:1, 2,[3, 4]
Copy = copy.copy(origin)
Deepcopy = copy.deepcopy(origin)
#数值比较:==,地址比较:is
print ("Copy == Deepcopy:"+str(Copy == Deepcopy))#判断Copy和Deepcopy数据是否相等
print ("Copy is Deepcopy:"+str(Copy is Deepcopy))#判断Copy和Deepcopy是否是一个地址数据
#结果Copy和Deepcopy数据相同,但已不再是同一个object
origin[2][0] = "hey!"#改变其中一个元素
print ("origin :"+str(origin))
print ("Copy :"+str(Copy))
print ("Deepcopy:"+str(Deepcopy))
#结论:Deepcopy是复制为一个独立数据,
# Copy是在一个数据加上一个新的标签,利用其中一个标签改变数据,则所有标签的数据都改变
```
![](https://img.kancloud.cn/29/68/2968616bf01af474aba36bf93cad30c9_249x125.png)
**示例2**
```
import copy
team = [{
'name': 'James',
'height': 199
}]
team1 = team
team2 = copy.copy(team)
team3 = copy.deepcopy(team)
team[0]['name'] = 'Yaoming'
print(team)
print(team1)
print(team2)
print(team3)
```
![](https://img.kancloud.cn/56/1f/561f1f86fffa6648c91b6ec76d077e45_300x79.png)
- 一、Python基础
- 1. 序言
- 1.1 Python简介
- 1.2 安装和使用IDE
- 1.3 语言特性和基础概念
- 2. 基本数据类型
- 2.2 字符串型
- 2.2.2 ASCII简介
- 2.2.4 字符串常用函数
- 3. 条件分支
- 3.3 闲聊条件判断和运算符优先级
- 10.正则表达式
- 【降龙十八章】Python小技巧
- 18.1 学习网址
- 18.2 PIP切换源
- 18.3 使用whl来安装
- 【工具优化】IDE优化技巧
- Anaconda
- Jupyter Notebook 的 Markdown 添加大纲
- Jupyter Notebook中图片缩放和居左
- Anaconda设置环境变量
- Pycharm
- PyCharm新建文档配置
- 设置字体和字号
- 设置主题和字体配色
- 保存和导入配置
- 设置对选择内容自动添加引号
- 推荐安装的插件
- Markdown
- 表格格式
- 二、Python进阶
- copy和deepcopy
- 《零基础入门学习 Python 》【小甲鱼版】
- 001.和Python的第一次接触+习题复习
- 002.用Python设计的第一个游戏 +习题复习
- Pygame详解
- Pygame详解:前言
- Pygame详解(一):Color类
- Pygame详解(二):display 模块
- Pygame详解(三):draw 模块
- Pygame详解(四):event 模块
- Pygame详解(五):font 模块
- Pygame详解(六):image 模块
- Pygame详解(七):key 模块
- Pygame详解(八):locals 模块
- Pygame详解(九):mixer 模块
- Pygame详解(十):mouse 模块
- Pygame详解(十一):Rect 对象
- Pygame详解(十二):Surface 对象
- Pygame详解(十三):time 模块
- Pygame详解(十四):music 模块
- Pygame详解(十五):pygame 模块
- Pygame详解(十六):cursors 模块
- Pygame详解(十七):joystick 模块
- Pygame详解(十八):mask 模块
- Pygame详解(二十一):BufferProxy 对象
- Pygame详解(二十三):gfxdraw 模块
- Pygame详解(二十五):Overlay 对象
- Pygame详解(二十八):sndarray 模块
- Pygame详解(三十一):camera 模块
- Pygame详解(三十二):cdrom 模块
- Pygame详解(三十六):version 模块
- pygame rect相关知识
- Tkinter详解
- Tkinter 组件详解(一):Label
- Tkinter 组件详解(二):Button