python进阶:闭包、装饰器、语法糖

学了就忘,看到这个例子很好,记录一下。

来源 蔡超老师课程

闭包

装饰器(decorator)

装饰器是闭包的一个经典应用。装饰器(decorator)在 python 中用来扩展原函数的功能,目的是在不改变原来函数代码的情况下,给函数增加新的功能。

假设我们的需求又变化啦,我们现在不统计函数的运行开始和结束时间了,改成统计函数的运行时长了,那么我们只需要改 record_time 这个函数就好了,而我们的功能函数 sum 就无须再改了,这样是不是方便了很多?
有了装饰器,我们可以在不改变原有函数代码的前提下,增加、改变原有函数的功能。这种方式也被称作“切面编程”,实际上,装饰器正是切面编程的最佳释例。

语法糖

有了装饰器,我们就可以做很多额外的工作,例如插入日志、做事务处理等,在后续的章节中我也会介绍如何利用装饰器给测试用例打标签。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章