形参*args的作用:传递任意数量的实参。
形参*args中的星号让python创建一个名为args的空元组,并将收到的所有值都封装到这个元组中。其实args换成其他的标识符完全没问题,只是习惯上用args。
如下举例:
def fun(*args):print(args)fun(1,2,3)
fun('saber','sakura','iriya')
结果如下:
(1, 2, 3)
('saber', 'sakura', 'iriya')
形参**kwargs的作用:传递任意数量的关键字实参。
形参**kwargs中的两个星号让python创建一个名为kwargs的空字典,并将收到的所有键-值对都封装到这个字典中。其实kwargs换成其他的标识符完全也没问题,只是习惯上用kwargs。
如下举例:
def print_name(**kwargs):print('kwargs:',kwargs) #输出传递的实参name={}for key,value in kwargs.items(): #使用传递的实参name[key]=valueprint('name:',name)print_name(first_name='katou',last_name='megumi')
结果如下:
kwargs: {'first_name': 'katou', 'last_name': 'megumi'}
name: {'first_name': 'katou', 'last_name': 'megumi'}