一般函数的参数个数都是固定的,但如果遇到参数数量不固定的状况,通常会将某些参数填上预设值,在 python function 可以支援两种可变数量的参数 *args 和 **kwargs。
以下例子中的 fun 虽然定义了三个参数,但是后面两个填上预设值,呼叫该函数时,就可以忽略 b 与 c,直接使用预设值。
a=1 b=2 c=3
a=1 b=22 c=33
*args是可变的positional arguments列表,**kwargs是可变的keyword arguments列表。两个可以同时使用,但在使用时,*args必须在**kwargs的前面,因为positional arguments,有位置顺序的对应,必须位于keyword arguments之前。
以下的例子,是定义 fun 有一个必要参数 a,以及可变的 *args
除了在定义函数的部分,在呼叫函数时,也可以使用 *args 及 **kwargs