def func(l=[]):
l.append(1)
print(l)
k= []
func() #[1]
func([]) # 传了一个新的列表[1]
func([]) # 传了一个新的列表,前一个列表已经释放了[1]
func(k) # 这个列表作为参数传进去[1]
func(k) # 这个列表作为参数传进去[1, 1]
func(k) # 这个列表作为参数传进去[1, 1, 1]
func(k) # 这个列表作为参数传进去[1, 1, 1, 1]
func() #用默认列表l[] ,[1, 1]
func()#用默认列表l[],[1, 1, 1]
func()#用默认列表l[],[1, 1, 1, 1]
def qqxing(k,l = {}):
# l.append(1)
l[k] = 'v' # 给字典的key赋值
print(l) #打印字典
qqxing(1)
qqxing(2)
qqxing(3)
# 结果
# {1: 'v'}
# {1: 'v', 2: 'v'}
# {1: 'v', 2: 'v', 3: 'v'}
# 如果默认参数的值是一个可变数据类型,
# 那么每一次调用函数的时候,
# 如果不传值就公用这个数据类型的资源