我有一个Python函数f(a, b)
,我试图定义一个新函数g
,其中带有一个参数f
已经设置,如g(f(a = 5))
。这将是一个简单的例子:使用默认参数传递函数
def sum(a, b):
return a+b
def g(x, f):
return f(x)
而且我希望能够评估g(5, sum(b=0))
。我怎么做?
我有一个Python函数f(a, b)
,我试图定义一个新函数g
,其中带有一个参数f
已经设置,如g(f(a = 5))
。这将是一个简单的例子:使用默认参数传递函数
def sum(a, b):
return a+b
def g(x, f):
return f(x)
而且我希望能够评估g(5, sum(b=0))
。我怎么做?
g(5, partial(sum, b=5))
返回,要求将像FUNC称为与位置参数ARGS和关键字参数关键字当一个新的部分对象。如果更多的参数被提供给该呼叫,它们将附加到参数。如果附加的关键字参数被提供,它们延伸并覆盖关键字
局部()被用于部分功能的应用程序,“冻结”的函数的参数和/或关键字产生一个新的对象具有简化一些部签名。例如,部分()可用于创建行为等,其中基本参数默认为两个INT()函数可以调用的:
basetwo = partial(int, base=2)
非常感谢!精美的作品。 – mirunix 2015-02-06 06:18:55
不知道我下面,什么是错用'高清F( x):return g(5,x)'? – amit 2015-02-06 05:59:45
'sum(b = 0)'这是什么意思?在这种情况下,“a”是什么? – Marcin 2015-02-06 06:08:35
FWIW,使用'sum'作为你自己的函数的名字是一个坏主意,因为已经有一个带有这个名字的内置函数。 – 2015-02-06 06:56:09