#定义函数的时候: #位置参数 : 直接定义参数 #默认参数,关键字参数 :参数名 = '默认的值' #动态参数 : 可以接受任意多个参数 #参数名之前加*,习惯参数名args, #参数名之前加**,习惯参数名kwargs #顺序:位置参数,*args,默认参数,**kwargs # 动态参数有两种:可以接受任意个参数 #*args : 接收的是按照位置传参的值,组织成一个元组 #**kwargs: 接受的是按照关键字传参的值,组织成一个字典 #args必须在kwargs之前 def func(*args,default = 1,**kwargs): print(args,kwargs) func(1,2,3,4,5,default=2,a = 'aaaa',b = 'bbbb',)
# 如果默认参数的值是一个可变参数类型,那么每次调用这个 # 函数的时候,如果不传值就公用这个数据类型资源 def qqxing(l = []): l.append(1) print(l) qqxing() qqxing()