使用 *args**kwargs 来调用函数

那现在我们将看到怎样使用*args**kwargs 来调用一个函数。
假设,你有这样一个小函数:

  1. def test_args_kwargs(arg1, arg2, arg3):
  2. print("arg1:", arg1)
  3. print("arg2:", arg2)
  4. print("arg3:", arg3)

你可以使用*args**kwargs来给这个小函数传递参数。
下面是怎样做:

  1. # 首先使用 *args
  2. >>> args = ("two", 3, 5)
  3. >>> test_args_kwargs(*args)
  4. arg1: two
  5. arg2: 3
  6. arg3: 5
  7. # 现在使用 **kwargs:
  8. >>> kwargs = {"arg3": 3, "arg2": "two", "arg1": 5}
  9. >>> test_args_kwargs(**kwargs)
  10. arg1: 5
  11. arg2: two
  12. arg3: 3

标准参数与*args、**kwargs在使用时的顺序

那么如果你想在函数里同时使用所有这三种参数, 顺序是这样的:

  1. some_func(fargs, *args, **kwargs)