我应该如何通过固定函数的自变量来使函数的维数比原始维的维数小:例如,我想使求和函数超出求和函数,如下所示: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
慕工程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部分内容,只是为了避免必须提供关键字参数。
添加回答
举报
0/150
提交
取消