【发布时间】:2017-12-31 23:59:40
【问题描述】:
下面的代码有什么办法吗?
def f1(f2, x):
return f2(x)
def f2(y, z):
return y + z
f1(f2(10, ), 20)
output 30
f2 函数未命中 z。所以,我希望f1 将参数x 传递给f2 作为z。
我将不胜感激。
【问题讨论】:
-
您必须传递一个带有单个参数的可调用对象,使用
def、lambda或functools.partial创建,例如:f1(lambda z: f2(10, z), 20)。 -
@jonrsharpe 这里的欺骗目标专注于将参数从一个函数传递给另一个函数,但是这个问题的重点是在进行调用时部分传递参数。我认为这不是正确的欺骗目标
-
OP 仅供参考,其中许多问题也可以通过谷歌搜索您的问题标题和
site:stackoverflow.com找到,因此请在将来提问之前进行研究。