了解 Python 函数中的参数绑定
假设您希望创建一个函数,稍后可以使用预定义的特定参数或更少的附加参数来调用该函数论据。在Python中如何实现这一点?
解决方案:functools.partial
解决方案在于使用functools.partial函数。它返回一个可调用的函数,该函数包装了一个函数,并冻结了其部分或全部参数。这允许您稍后调用已应用冻结参数的包装函数。
示例用法
让我们演示如何使用绑定参数functools.partial:
import functools print_hello = functools.partial(sys.stdout.write, "Hello world\n") print_hello()
输出:
Hello world
此代码创建一个函数 print_hello,在调用时将始终打印“Hello world”。 functools.partial 函数已将 sys.stdout.write 的第一个参数绑定到字符串“Hello world”。
等效 Lambda 表达式
上面的代码是等效的到下面的 lambda 表达式:
print_hello = lambda *a, **kw: sys.stdout.write("Hello world\n", *a, **kw)
换句话说,functools.partial 提供了一种便捷的方式通过将参数部分应用到现有函数来创建新函数。
以上是如何使用 functools.partial 预定义 Python 函数的参数?的详细内容。更多信息请关注PHP中文网其他相关文章!