在 Python 中部分应用函数
在 Python 中,将参数绑定到函数通常很有用,以便以后可以在不提供所有参数的情况下调用它们的原始论点。这种技术称为部分应用,在各种场景中都很方便,包括定义回调和使用闭包。
用于部分应用的 functools.partial
Python 提供了 functools .partial 函数用于部分应用参数。 functools.partial 接受一个函数和一组与其绑定的参数,返回一个表示部分应用函数的新可调用对象。原始函数与绑定参数一起“冻结”,允许您稍后调用它而无需显式指定这些参数。
考虑以下示例:
import functools def add(x, y): return x + y add_5 = functools.partial(add, 5) assert add_5(3) == 8
在此示例中,我们创建一个名为 add_5 的函数,部分应用 add 函数,第一个参数固定为 5。稍后,我们可以使用单个参数调用 add_5 来执行加法,这相当于调用 add(5,
用法和等价
上面的代码类似于使用 lambda 函数:
print_hello = lambda *a, **kw: sys.stdout.write("Hello world\n", *a, **kw)
但是, functools.partial 提供面向对象的方法,使得修改和检查部分应用变得更容易function.
通过使用部分应用程序,您可以增强代码可读性,避免意外的立即函数评估,并减轻闭包中后期绑定引起的问题。这是一种多功能技术,可以为您的 Python 编码库增加灵活性。
以上是functools.partial 如何简化 Python 中的函数调用?的详细内容。更多信息请关注PHP中文网其他相关文章!