在Python中正常赋值 浅复制 深复制的区别 在Python中如何将JSON加载到OrderedDict中 在Python中如何发电子邮件附件 在Python中正常赋值 浅复制 深复制的区别 浅复制和深复制之间的区别仅与复合对象(包含其他对象的对象,如列表或类实例)相关: 浅拷贝构造一个新的复合对象,然后(尽可能)将对它的引用插入到原始对象中。 深层复制构造一个新的复合对象,然后递归地将复制插入原始对象中的对象。 实例 这是一个小小的示范: import copy a = [1, 2, 3] b = [4, 5, 6] c = [a, b] 使用正常分配操作进行复制: d = c print id(c) == id(d) # True - d is the same object as c print id(c[0]) == id(d[0]) # True - d[0] is the same object as c[0] 使用浅拷贝: d = copy.copy(c) print id(c) == id(d) # False - d is now a new object print id(c[0]) == id(d[0]) # True - d[0] is the same object as c[0] 使用深层复制: d = copy.deepcopy(c) print id(c) == id(d) # False - d is now a new object print id(c[0]) == id(d[0]) # False - d[0] is now a new object 在Python中如何将JSON加载到OrderedDict中 在Python中如何发电子邮件附件