Python之深浅拷贝
2015-04-04 18:48
295 查看
最近重新学一遍python,用的是这本《python开发技术详解》,果然还是碰见了许多新东西
python深浅拷贝:
深拷贝能够拷贝对象内部所有的数据和引用,引用相当于c语言中指针的概念,python语言中不存在指针,但是在变量的内存结构中是通过引用来维护变量的。由于浅拷贝只是复制数据,数据的引用没有被复制,因此新的数据和旧的数据使用同一块内存空间。
#!-*- coding:UTF-8 -*-
'''
Created on 2015-4-4
@author: huangpeng03
'''
import copy
dict = {'a':'apple','b':{'g':'grape','o':'orange'}}
dict2 = copy.deepcopy(dict) #深拷贝
dict3 = copy.copy(dict) #浅拷贝
dict2['b']['g'] = 'orange'
print dict
dict3['b']['g'] = 'orange'
print dict
结果:
{'a': 'apple', 'b': {'o': 'orange', 'g': 'grape'}}
{'a': 'apple', 'b': {'o': 'orange', 'g': 'orange'}}
python深浅拷贝:
深拷贝能够拷贝对象内部所有的数据和引用,引用相当于c语言中指针的概念,python语言中不存在指针,但是在变量的内存结构中是通过引用来维护变量的。由于浅拷贝只是复制数据,数据的引用没有被复制,因此新的数据和旧的数据使用同一块内存空间。
#!-*- coding:UTF-8 -*-
'''
Created on 2015-4-4
@author: huangpeng03
'''
import copy
dict = {'a':'apple','b':{'g':'grape','o':'orange'}}
dict2 = copy.deepcopy(dict) #深拷贝
dict3 = copy.copy(dict) #浅拷贝
dict2['b']['g'] = 'orange'
print dict
dict3['b']['g'] = 'orange'
print dict
结果:
{'a': 'apple', 'b': {'o': 'orange', 'g': 'grape'}}
{'a': 'apple', 'b': {'o': 'orange', 'g': 'orange'}}
相关文章推荐
- C++与Python的深浅拷贝比较
- Python中的深浅拷贝详解
- Python 深浅拷贝
- python——赋值与深浅拷贝
- Python之赋值与深浅拷贝
- Core Python Programming一书中关于深浅拷贝的错误
- Python(二)字符串操作、列表字典及深浅拷贝等
- Python-Day3知识点——深浅拷贝、函数基本定义、内置函数
- python 赋值、深浅拷贝、作用域
- python——赋值与深浅拷贝
- python赋值和深浅拷贝
- Python求索之路2——深浅拷贝&函数
- python 深浅拷贝
- python 深浅拷贝
- Python基础:深浅拷贝
- Python中的深浅拷贝详解
- python小白-day3 深浅拷贝
- python开发学习-day03(set集合、collection系列 、深浅拷贝、函数)
- python基础(三元运算+深浅拷贝+函数参数)
- Python开发【第二章】:深浅拷贝剖析