*args和**kwargs的用法

可变位置参数*args

*args为一个列表,用于向函数传递数量可变的参数,我觉得相当于Java和C++中的重载,所以Python没有重载,示例如下:

def args_test(*args):
    for arg in args:
          print(arg)
args_test(1)
args_test(1, 2)

可变关键字参数**kwargs

*kwargs是一个字典,以键值对的形式传入不定量的参数,和args有点像,只是从长度可变的列表变成了长度可变的字典,示例如下:

def kwargs_test(**kwargs):
    for key in kwargs:
          print(key, kwargs[key])
kwargs_test(a=1)
kwargs_test(a=1, b=2)

你可能感兴趣的:(*args和**kwargs的用法)