默认参数

'''
默认参数的值只在定义阶段赋值一次
'''

m = 10

def foo(x,y=m):
    print(x,y)
m='dan'
foo(1)

结果======》

  1 10
  dan

'''
默认列表应该设置为不可变类型
'''

def extend_list(val,list=[]):   //调用函数的时候开辟个内存空间1
    list.append(val)
    return list
list1 =extend_list(10)   //10保存在内存空间1
print(list1)

list2 =extend_list(123,[])     //重新开了一个新的内存空间2 ,123保存在内存空间2
list3 =extend_list('a')  //a保存在内存空间1

print(list1)
print(list2)
print(list3)

............
[10]
[10, 'a']
[123]
[10, 'a']
原文地址:https://www.cnblogs.com/dingyutao/p/9160707.html