1.赋值(=),就是创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个. In [168]: a Out[168]: [1, 2, 3] In [169]: b=a In [170]: a.append(4) In [171]: a Out[171]: [1, 2, 3, 4] In [172]: b Out[172]: [1, 2, 3, 4] 2.浅拷贝:创建一个新的对象,但它包含的是对原始对象中包含项的引用(copy模块的copy()函数) In [187]: import c…
直接赋值: 其实就是对象的引用 浅拷贝(copy): 只拷贝符对象,不会拷贝对象内部的子对象 深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象 有图有真相 请观赏: 1. b = a; 赋值引用, a 和 b 都是指向同一个对象 2.b = a.copy():钱拷贝, a 和 b 是一个独立的对象,但他们的子对象还是值相同一个对象(是饮用) import copy b = copy.deepcopy(a), 深度拷贝, a 和 b 完全拷贝了父对…