最近重新学一遍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'}}