通过提供一些参数来重新定义函数

Min*_*Kim 3 python

假设有一个如下所示的函数:

def func(arg1, args2):
    # do sth using arg1 and arg2
Run Code Online (Sandbox Code Playgroud)

在运行时,我想继续使用一些args2在定义func.

所以我想做的是:

func_simpler = func(, args2=some_value_for_arg2)
func_simpler(some_value_for_arg1) # actual usage
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?我知道有一种解决方案,例如func更好地定义,但我寻求一种更像是的解决方案func_simpler。提前致谢!

Sve*_*ven 5

lambda你可以在Python中 使用

原有功能

def func(arg1, arg2):
Run Code Online (Sandbox Code Playgroud)

然后你得到你想要的 arg2 默认值并定义 simple_func

simple_func = lambda arg1 : func(arg1, arg2=new_default)
Run Code Online (Sandbox Code Playgroud)

现在您可以运行 simple_func

simple_func("abc") #"abc" = value for arg1
Run Code Online (Sandbox Code Playgroud)

希望我能帮助你