快乐的pythoner程序员程序猿阵线联盟-汇总各类技术干货

分析掌握python装饰器(一)

2017-12-15  本文已影响38人  bd6b5cde5ce9

如果你学了一段时间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)简单的示例

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

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

上一篇 下一篇

猜你喜欢

热点阅读