各位朋友,大家好,我是Payne,欢迎大家关注我的博客,我的博客地址是https://qinyuanpei.github.io。今天我想和大家一起探讨的话题是Python中的装饰器。因为工作关系最近这段时间在频繁地使用Python,而我渐渐意识到这是一个非常有趣的话题。无论是在Python标准库还是第三方库中,我们越来越频繁地看到装饰器的身影,从某种程度上而言,Python中的装饰器是Python进阶者的一条必由之路,正确合理地使用装饰器可以让我们的开发如虎添翼。装饰器天然地和函数式编程、设计模式、AOP等概念产生联系,这更加让我对Python中的这个特性产生兴趣。所以,在这篇文章中我将带领大家一起来剖析Python中的装饰器,希望对大家学习Python有所帮助。

什么是装饰器

  什么是装饰器?这是一个问题。在我的认知中,装饰器是一种语法糖,其本质就是函数。我们注意到Python具备函数式编程的特征,譬如lambda演算,map、filter和reduce等高阶函数。在函数式编程中,函数是一等公民,即“一切皆函数”。Python的函数式编程特性由早期版本通过渐进式开发而来,所以对“一切皆对象”的Python来说,函数像普通对象一样使用,这是自然而然的结果。为了验证这个想法,我们一起来看下面的示例。

函数对象

def square<

更多推荐

深入浅出理解Python装饰器