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'}