Python函数式编程

2022-03-11 17:54:19 浏览数 (3)

1. 装饰器(decorator)

在代码运行期间动态增加功能的方式,称之为「装饰器」(decorator)。本质上,decorator 就是一个返回函数的高阶函数,它需要接受一个函数作为输入参数,并返回一个函数。

代码语言:javascript复制
def log(func):
    def wrapper(*args, **kw):
        print('call %s():' % func.__name__)
        return func(*args, **kw)
    return wrapper

上面的 log 就是一个 decorator。Python 的 @ 语法可以把 decorator 置于函数的定义处:

代码语言:javascript复制
@log
def now():
    print('2015-3-25')

此时调用 now 函数,会在运行 now 前运行 log(now) 打印日志。

2. 偏函数

functools.partial 的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。

0 人点赞