偏函数指,对某函数的参数进行赋值并返回一个新的函数。与装饰器不同的是,它不能对函数内容进行修改。
例1
import functools
def func(a, b='default B'):
# 原始函数
print(a)
print(b)
new_func = functools.partial(func, b='new B') # 生成偏函数
func(a='hello world')
new_func(a='hello world')
输出结果:
hello world
default B
hello world
new B
例2
import functools
import re
def is_digit(string):
return True if functools.partial(re.search, r'^\d+$')(string) else False
print(is_digit('123'))
print(is_digit('hello'))
输出结果:
True
False