*args和**kwargs主要用于函数定义,当你不知道调用者会给函数传递多少个参数时,就可以使用*args和**kwargs。
python函数传递参数的方式有2种:位置参数(positional argument)和关键词参数(keyword argument)。*args对应于位置参数;**kwargs对应于关键词参数。*args表示任意多个无名参数,它本质上是一个tuple;**kwargs表示任意多个关键字参数,它本质上是一个dict。如果 *args和**kwargs同时使用,*args必须在**kwargs的前面,类似于有默认值的参数必须在没有默认值的参数后面。
python的不定长参数
不定长关键字参数
example









网友评论