关键字参数也可以与位置参数混用,但关键字参数必须跟在位置参数后面,否则会报错。
使用*arg 可变参数列表可以直接将元组或者列表转换为参数,然后传入函数,如:
>>>arg= [0,10,2]
>>>list(range(*arg))
[0, 2,4, 6, 8]
使用**kwargs关键字参数列表可以直接将字典转换为关键字参数,然后传入函数中,如:
>>>defuser(username,age,**kwargs):
... print('username:',username,
... 'age:',age,
... 'other:',kwargs)
>>>user('john',27,city= 'guangzhou',job = 'Data Analyst')
username:john age: 27 other: {'city': 'guangzhou', 'job': 'Data Analyst'}
>>>kw={'age':27,'city':'guangzhou','job':'DataAnalyst'}
>>>user('john',**kw)
username:john age: 27 other: {'city': 'guangzhou', 'job': 'Data Analyst'}