函数定义中参数前的*
表示的是将调用时的多个参数放入元组中,**
则表示将调用函数时的关键字参数放入一个字典中
def one(*args):
print(args)
print((type(args)))
one(1, 2, 3, 'a')
# (1, 2, 3, 'a')
# <class 'tuple'>
def two(**kwargs):
print(kwargs)
print(type(kwargs))
two(a=1, b=2)
# {'a': 1, 'b': 2}
# <class 'dict'>
注:使用**kwargs是,函数传参格式必须必须为key=value
, 如调用two(1, 2)
会报错