Python装饰器与lisp的advice有何关联?

Python

1个回答

写回答

wy13469

2026-01-02 02:05

+ 关注

Python
Python

现代语言的诸多特性都能在函数式编程的鼻祖lisp中找到相似之处。装饰器就相当于lisp里的advice,它能够在函数调用之前和之后给出建议,这实际上就是统一添加前置与后置逻辑。例如,要给一系列函数添加日志功能,且无需关注函数内部的具体逻辑时,就可以使用advice,将日志逻辑写在一处,而不必逐个修改每个函数。Python对这一概念进行了扩展,使其能够处理类,从而成为一种针对class或者function进行修改的通用元编程机制。简单来说,就是输入为class时输出是另一个class,输入为function时输出是function的特殊函数。如果您有Java背景,这个特性能够实现类似某些Java框架中AOP(面向切面编程)的功能。其实一个普通的功能,在Java领域常常被吹嘘成高大上的设计模式,还整出一些新名词,所以很多人瞧不上Java

举报有用(0分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号