软件开发中最重要的一条真理就是“不要重复自己的工作(Don't repeat yourself)".也就是说,任何时候当需要创建高度重复的代码(或者需要复制粘贴源代码)时,通常都需要寻找一个更加优雅的解决方案。
在Python中,这类问题常常会归类为“元编程”。简而言之,元编程的主要目标是创建函数和类,并用它们来操纵代码(比如说修改、生成或者包装已有的代码)。Python中基于这个目的的主要特性包括装饰器、类装饰器以及元类。但是,还有许多其他有用的主题一包括对象签名、 用exec0来执行代码以及检查函数和类的内部结构一也进人 了我们的视野。
1. 给函数添加一个包装
我们想给函数加上一个包装层(wrapper layer)以添加额外的处理(例如,记录日志、计时统计)。
如果需要用额外的代码对函数做包装,可以定义一个装饰器函数。示例如下:
下面是使用这个装饰器的示例:
领取专属 10元无门槛券
私享最新 技术干货