python的函数参数可以有多种形式,其中如果要接收任意多个位置参数,可以将参数声明为args,其中args只是变量名字,可以是任何合法变量名,例如函数def demo(args);
可以接收以下传参: demo(1) demo(1,2) demo(1,2,3,4) 如果函数形参声明为kwargs,则表示函数可以接收任意关键字参数,比如def test(kwargs),则可以有如下调用方式: test(a=1) test(a=1,b=3) test(a=1,b=5,d=100)
区别:
1)*args中args是元组,可以通过args元组获取所有位置参数
2)**kwargs中的kwargs是字典,可以通过kwargs获取所有关键字参数
3)在函数的形参中,如果同时有*args和**kwargs,*args必须在**kwargs前面