先来看个例子:
输出结果如下:
可以看到,这两个是python中的可变参数。 * args 表示任何多个无名参数,它是一个tuple; * *kwargs 表示关键字参数,它是一个dict。并且同时使用 * args和 * kwargs时,必须args参数列要在**kwargs前,像foo(a=1, b=‘2’, c=3, a’, 1, None, )这样调用的话,会提示语法错误“SyntaxError: non-keyword arg after keyword arg”。
在使用 * args时要注意,在一个函数里面如果既有确定参数,又有不确定参数时(元组类型的不确定参数),调用函数时,给确定参数赋值,不能用"=",否则会报错。
可以不给不确定参数赋值:
如果是字典类型的不确定参数,可以用"="赋值:
也可以用下面的形式:
领取专属 10元无门槛券
私享最新 技术干货