python-函数之动态函数
动态函数
参数:位置参数、默认参数、动态参数
动态参数:
*args :接收所有按照位置传的参数,接收到的是参数组成的元祖
**kwargs :接收所有按照关键字传的参数,接收到的是参数组成的字典
所有的参数的顺序:位置参数,*args ,默认参数,**kwargs
def func(*args): #在参数前面加个*,这个参数就变成动态参数了
print(args) #在使用的时候,所有接受过来的参数都被组织成一个元素
func(2,4,5,[1,3])
def func(**kwargs):
print(kwargs)
# func(b=2,a=1)
dic = {'a':1,'b':2}
func(**dic) #返回的是字典
动态参数的应用
def func(*args): sum = 0 for i in args: sum += i return sum ret = func(1,2,3,4) print(ret)
万能函数接收器
def func(*args,**kwargs): print(args) print(kwargs) func(1,2,3,5,key = '5')
魔性的用法:
在调用函数的时候,可以打散:*l(按顺序打散)、**dic(打散)
def my_sum(*args): #聚合
print(args)
sum_2 = 0
for i in args:
sum_2 += 1
return sum_2
# l = {'name':1,'age':2}
l = [1,2,3]
ret = my_sum(*l) #按照顺序打散
print(ret)
def func(*args,**kwargs):
print(args)
print(kwargs)
func(1,2,3,4,5)