使用 *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)