Skip to main content
 首页 » 编程设计

python之从具有多个参数的函数创建具有单个参数的函数的最佳方法是什么

2025年05月04日10JustinYoung

在 python 中,我有一个函数 f(x,y) 定义为

def f(x,y): 
    return x + y 

现在我想为 y 的固定值定义一个函数 g(x) = f(x,y),该值在运行时确定。在我的特定情况下,我循环了多个 y 值,并且需要为每次迭代生成此函数 g(x):

for y in range(0,10): 
    def g(x): 
        return f(x,y) 
    #do something with g(x)... 

上面的代码有效,但我的问题是是否有更有效的方法来做到这一点?在我看来,在每次循环迭代时创建一个函数对象在内存/计算时间方面可能会变得低效。

请您参考如下方法:

使用functools.partial :

>>> def f(x, y): 
    return x * y 
 
>>> from functools import partial 
>>> g = partial(f, y=2) 
>>> g(3) 
6