使用 functools.partial 在 Python 中进行柯里化

Beginner

This tutorial is from open-source community. Access the source code

简介

在函数式编程中,柯里化(currying)是一种将接受多个参数的函数转换为一系列每个只接受一个参数的函数的技术。在 Python 中,我们可以使用 functools.partial() 函数来实现柯里化。

柯里化函数

编写一个函数 curry(fn, *args),它对给定的函数 fn 进行柯里化。该函数应返回一个新函数,其行为类似于已部分应用了给定参数 argsfn

from functools import partial

def curry(fn, *args):
  return partial(fn, *args)
add = lambda x, y: x + y
add10 = curry(add, 10)
add10(20) ## 30

总结

在这个挑战中,你学习了如何在 Python 中使用 functools.partial() 来实现一个柯里化函数。柯里化函数允许你将参数部分应用于一个函数,并返回一个接受剩余参数的新函数。