python进阶:闭包、装饰器、语法糖
2020-10-23 本文已影响0人
DayBreakL
学了就忘,看到这个例子很好,记录一下。
来源 蔡超老师课程
闭包
装饰器(decorator)
装饰器是闭包的一个经典应用。装饰器(decorator)在 python 中用来扩展原函数的功能,目的是在不改变原来函数代码的情况下,给函数增加新的功能。
假设我们的需求又变化啦,我们现在不统计函数的运行开始和结束时间了,改成统计函数的运行时长了,那么我们只需要改 record_time 这个函数就好了,而我们的功能函数 sum 就无须再改了,这样是不是方便了很多?
有了装饰器,我们可以在不改变原有函数代码的前提下,增加、改变原有函数的功能。这种方式也被称作“切面编程”,实际上,装饰器正是切面编程的最佳释例。
语法糖
有了装饰器,我们就可以做很多额外的工作,例如插入日志、做事务处理等,在后续的章节中我也会介绍如何利用装饰器给测试用例打标签。