为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕后森 2021-03-28 09:30:19
我应该如何通过固定函数的自变量来使函数的维数比原始维的维数小:例如,我想使求和函数超出求和函数,如下所示:def add(x,y):    return x+y现在我正在寻找这样的东西:g=f(~,1)这将是后继功能,即g(x)=x+1。
查看完整描述

2 回答

?
BIG阳

TA贡献1859条经验 获得超6个赞

您可以编写自己的函数:


def g(y):

    return f(2, y)

或更简而言之:


g = lambda y: f(2, y)

还有functools.partial:


import functools


def f(x, y):

    return x + y


g = functools.partial(f, 2)

然后,您可以像以前一样调用它:


>>> g(3)

5


查看完整回答
反对 回复 2021-04-02
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

如果您要做的不止这些,则可以使用装饰器之类的东西。


def with_x(x, fn, name=None):

  def foo(*args, **kwargs):

    return fn(x, *args, **kwargs)

  if name:

    foo.__name__ = name

return foo


def example(x,y):

  return x**y


g = with_x(2, example)


g(3)  #8

使用name = parameter,如果你关心__name__所产生的功能。__inspect__如果需要的话,您可能会对使用其他模块的其他技巧更感兴趣,甚至可以使用模块来封闭函数内部。但是之后,您已经重写了前面提到的functools部分内容,只是为了避免必须提供关键字参数。


查看完整回答
反对 回复 2021-04-02
  • 2 回答
  • 0 关注
  • 171 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信