摘要:
需求: 在函数对象中保存着一些函数的元数据,例如: f.name:函数的名字 f.doc:函数文档字符串 f.module:函数所属模块名 f.dict:函数的属性字典 f.defaults:默认参数元组 ..... 我们在使用装饰器后,再访问上面这些属性访问时,看到的是内部包裹函数的元数据,原来函 阅读全文
摘要:
需求: 某些时候我们想为多个函数,统一添加某种功能,比如计时统计、日志记录、缓存运算结果等等 我们不想在每个函数内一一添加完全相同的代码,有什么好的解决方案? 思路: 定义装饰器函数,用它来生成一个在原函数基础上添加了新功能的函数,替代原函数 代码: def memo(func): cache = 阅读全文