我可以在python函数中预先指定除一个参数外的所有参数,以在python中返回可调用参数吗



假设我在python 中定义了一个函数

def f(x,y):
return(x+y)

现在我想定义一个函数g(__(=f(__,y(,也就是说,我已经为它指定了一个值y,并希望它是一个只需要一个参数的可调用函数。有没有一种优雅的方法可以做到这一点?

您可以编写一个简单的lambda函数,如

g = lambda x: f(x, 100)

functools.partial就是您所需要的:https://docs.python.org/3/library/functools.html

from functools import partial
g = partial(f, y=your_constant_value_for_y)

调用g(x)相当于调用f(x, your_constant_value_for_y)

在这种情况下,您必须传递许多参数:

def f(x, *args):
return (x, args)

def g(x):
return f(x, 10, 20, 20)

相关内容

  • 没有找到相关文章

最新更新