来自:I'm Me!
python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用copy模块。
1. copy.copy()浅拷贝:只拷贝父对象,不拷贝对象内部的子对象(即复制它的快捷键)
2. copy.deepcopy()深拷贝:拷贝对象及其子对象(即复制它的内存)
import copy a = [1,2,3,4,['a','b']] # 原始对象 b = a # 赋值,传对象的引用 c = copy.copy(a) # 浅拷贝(只拷贝父对象,不拷贝对象内部的子对象) d = copy.deepcopy(a) # 深拷贝(拷贝对象及其子对象) a.append(5) a[4].append('c') print('a = ', a) print('b = ', b) print('c = ', c) print('d = ', d)