分析掌握python装饰器(一)

如果你学了一段时间Python,那么你一定听说过装饰器。

装饰器顾名思义,就是用来装饰函数的,给函数做一个漂亮的包装层来做一些有用的处理。

让我们来一步一步的剥开包装

(1)python 中函数即对象,函数名代表着指向函数对象的指针,所以它可以这样操作

def a():

    return 'hello world'

b = a

b() #输出 hello world

理解这一步是基础。

(2)函数作为参数与返回值

既然函数是对象,当然它既可以作为参数,也可以作为返回值

def c(a):

    return a

d=c(a)

d() # 输出 hello world

而我的装饰器,就是传入一个函数(被包装的函数),经过包装函数的包装,然后返回包装函数。

在这里,包装函数返回的是最后的结果。一般情况下你见到的会是

return func(*args,**kwargs) 

这里就是返回被包装函数执行结果。

(3)简单的示例

让我们来想个简单的例子,你现在有一个计算的函数,我们想在每次计算的时候检查输入数据的类型,并且做出相应的反馈。


明白了装饰器的构建,接下来我们要分析一下其他几种情况

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容