1.位置可变参数( * )
在形式参数名称前加一个星号 *,则代表使用该形式参数可以接收任意多个参数,而且接收的参数将会以元组的方式组织。
例:
def func(*args): #arg形参以元组的方式组织传入的实参
print(args)
func(1,6,"ab","gh")
运行结果:
(1, 6, ‘ab’, ‘gh’)
2.关键字可变参数( ** )
在形式参数名称前加两个星号**,则代表使用该形式参数可以接收任意多个传入的键-值对参数(关键字实参),而且接收的参数将会以字典的方式组织。
例:
def func(**kwd): #kwd形参以字典的方式组织传入的关键字实参
print(kwd)
func(name = "jack",age = 19)
运行结果:
{‘name’: ‘jack’, ‘age’: 19}
易错点:当位置可变参数(*args)和关键字可变参数(**kwd)一起使用的时候,必须先声明位置可变参数(*args),最后声明关键字可变参数(**kwd)。