python-*args与**kwagrs 动态形参使用说明

 

fruits = ['apple','banana','pear','grape']
student = {
"name":"hanmeimei",
"age":22,
"sex":"female"
}


*args普通动态参会将传入多余的参数组合成一个元祖

def func1(x,*args):
  print("args={}".format(args))

func1(1,2,3,fruits)
func1(1,2,3,student)
输出结果:
args=(2, 3, ['apple', 'banana', 'pear', 'grape'])
args=(2, 3, {'name': 'hanmeimei', 'age': 22, 'sex': 'female'})


 **kwargs 关键字动态参数会将传入的多余的关键字参数【必须是键值对形式】组合成一个字典

def func2(x,y,**kwargs):
  print("kwargs={}".format(kwargs))
func2(1,2,e=3,d=3,a='apple',c=8)

将一个字典前加上** 传入函数时相当于将字典中的键值对以关键字参数的形式传入函数
def func3(**kwargs):
  print(kwargs)
func3(**student)
输出结果:
kwargs={'e': 3, 'd': 3, 'a': 'apple', 'c': 8}
{'name': 'hanmeimei', 'age': 22, 'sex': 'female'}

posted @ 2019-03-24 09:26  cool2005  阅读(829)  评论(0)    收藏  举报