python3默认参数陷阱
默认参数的值是容器类型,每次调用函数的时候,如果不传值,会用公用资源池
def func(k, v=[]): v.append(k) print(v) func('wt') func('ab', []) func('cd') # 占用wt的内存
def extend_list(v, li = []): li.append(v) return li list1 = extend_list(10) list2 = extend_list(20, []) print(list2) list3 = extend_list(30) # 占用的是list1的内存 print(list3) print(list1)