通过固定参数进行功能限制

我应该如何通过固定函数的自变量来使函数的维数比原始维的维数小:


例如,我想使求和函数超出求和函数,如下所示:


def add(x,y):

    return x+y

现在我正在寻找这样的东西:


g=f(~,1)这将是后继功能,即g(x)=x+1。


慕后森
浏览 183回答 2
2回答

BIG阳

您可以编写自己的函数:def g(y):    return f(2, y)或更简而言之:g = lambda y: f(2, y)还有functools.partial:import functoolsdef f(x, y):    return x + yg = functools.partial(f, 2)然后,您可以像以前一样调用它:>>> g(3)5

慕工程0101907

如果您要做的不止这些,则可以使用装饰器之类的东西。def with_x(x, fn, name=None):  def foo(*args, **kwargs):    return fn(x, *args, **kwargs)  if name:    foo.__name__ = namereturn foodef example(x,y):  return x**yg = with_x(2, example)g(3)  #8使用name = parameter,如果你关心__name__所产生的功能。__inspect__如果需要的话,您可能会对使用其他模块的其他技巧更感兴趣,甚至可以使用模块来封闭函数内部。但是之后,您已经重写了前面提到的functools部分内容,只是为了避免必须提供关键字参数。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python