深浅拷贝及四大高阶函数应用
一.浅拷贝和深拷贝 浅拷贝: 不管多么复杂的数据结构,浅拷贝都只会copy一层 深拷贝 : 深拷贝会完全复制原变量相关的所有数据,在内存中生成一套完全一样的内容,我们对这两个变量中任意一个修改都不会影响其他变量 import copy sourceList = [ 1 , 2 , 3 , [ 4 , 5 , 6 ] ] copyList = copy . copy ( sourceList ) deepcopyList = copy . deepcopy ( sourceList ) sourceList [ 3 ] [ 0 ] = 100 print ( sourceList ) # [1, 2, 3, [100, 5, 6]] print ( copyList ) # [1, 2, 3, [100, 5, 6]] print ( deepcopyList ) # [1, 2, 3, [4, 5, 6]] 二. python垃圾回收机制 1. 引用计数 1)当一个对象的引用被创建或者复制时,对象的引用计数加1;当一个对象的引用被销毁时,对象的引用计数减1. 2)当对象的引用计数减少为0时,就意味着对象已经再没有被使用了,可以将其内存释放掉。 2. 标记-清除 1)它分为两个阶段:第一阶段是标记阶段,GC会把所有的活动对象打上标记,第二阶段是把那些没有标记的对象非活动对象进行回收。