偏函数是通过固定部分参数生成新函数的方法。使用functools.partial可预设参数,如partial(power, exponent=2)创建平方函数;适用于日志、回调等场景,相比默认参数更灵活,支持运行时动态构造函数,提升代码复用与可读性。

偏函数(Partial Function)是 Python 中一个很实用的概念,它的核心思想是:通过固定函数的部分参数,生成一个新的函数。这样可以简化调用,让代码更清晰、复用性更强。
什么是偏函数?
在 functools 模块中,Python 提供了 partial 函数来实现偏函数功能。你可以把一个已有函数的某些参数“提前设定”,得到一个新函数,这个新函数只需要传入剩余的参数即可使用。
举个简单例子:
from functools import partialdef power(base, exponent): return base ** exponent
创建一个新函数 square,固定 exponent=2
square = partial(power, exponent=2)
立即学习“Python免费学习笔记(深入)”;
print(square(4)) # 输出 16 print(square(5)) # 输出 25
这里 partial(power, exponent=2) 固定了 exponent 参数为 2,生成了一个计算平方的新函数 square。调用时只需传入 base 即可。
偏函数的实际用途
偏函数特别适合在回调函数、事件处理或需要传递固定配置的场景中使用。
比如你有一个函数处理日志,带级别参数:
def log_message(level, message): print(f"[{level}] {message}")创建特定级别的日志函数
error_log = partial(log_message, level="ERROR") info_log = partial(log_message, level="INFO")
error_log("文件未找到") # [ERROR] 文件未找到 info_log("程序启动") # [INFO] 程序启动
这样就不必每次写完整的参数,直接调用更简洁。
偏函数与默认参数的区别
虽然默认参数也能实现类似效果,但偏函数更灵活。默认参数是在定义函数时固定的,而偏函数可以在运行时动态创建。
例如:
def multiply(a, b): return a * bdouble = partial(multiply, b=2) triple = partial(multiply, b=3)
你可以根据需要随时创建不同行为的函数,而不必修改原函数定义。
基本上就这些。偏函数的本质就是“预填参数”,让函数调用更方便,逻辑更清晰。不复杂但容易忽略。











