带有未知参数的Python包装函数

Lea*_*don 3 python arguments function

如果我有这个功能:

def foo(arg_one, arg_two):
    pass
Run Code Online (Sandbox Code Playgroud)

我可以像这样包装它:

def bar(arg_one, arg_two):
    return foo(arg_one, arg_two)

foo = bar
Run Code Online (Sandbox Code Playgroud)

是否有可能在不知道foo必需参数的情况下这样做,如果是这样,怎么做?

Ble*_*der 5

您可以使用参数解包运算符(或其他任何调用的运算符):

def bar(*args, **kwargs):
    return foo(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

如果您不打算传递任何关键字参数,则可以删除**kwargs.

  • 虽然离开它并没有伤害,它可能会在以后派上用场. (2认同)