一、带*形参
1、格式:*形参名,如*args
2、数据类型:元组
3、传参方式:接收任意个位置参数(可以不传参)。
4、位置:在一个函数里只能有一个,且放在末尾(没有带**形参的情况下)。
二、带**形参
1、格式:**形参名,如**kwargs
2、数据类型:字典
3、传参方式:接收任意个关键字参数(可以不传参)。
4、位置:在一个函数里只能有一个,且放在末尾。
def foo(n,*args,**kwargs): print("n=",n,"*args=",args,"**kwargs=",kwargs) foo(10,23,45,name="tom",age=23) n= 10 *args= (23, 45) **kwargs= {'name': 'tom', 'age': 23}
三、带*实参
1、格式:*实参名
2、意义:对序列(列表、元组、字符串)解包装
3、传参方式:不可以少传参、多传参
def foo(a,b): print("a=",a,"b=",b) m=[6,9] foo(*m)