装饰器的作用就是对需要装饰的函数添加一个新的功能,其本质就是一个闭包,然后进行函数之间的调用,就是把它的功能调过来自己用,这就是所谓的装饰器。
好,下面就让我们来了解了解这个装饰器,先定义如下一个函数:
def funck():
print("Hello")
funck()
这个函数就是实现了简单的打印,如果现在需要给它加一个功能,让它再打印“Hello word”,有人说那在函数里面在写个print()不就完了吗,可以,这样可以实现。但是如果给你一个很复杂的一个功能,那再来修改原函数,就是不智之举了,那这时装饰器就派上大用场了,好,话不多说,代码来了。
#现在我们就来给它一个简单的装饰器
def outer(f): #外部函数 f 为参数,但它是一个函数
def inner() #内部函数
f() #调用被装饰的函数
print("Hello word")
return inner #返回内部函数
result = outer(funck) #这是把funck()当做参数传给outer()
result() #函数调用
输出结果为:
Hello
Hello word
这就是一个简单的无参数的装饰器。。。
更复杂的装饰器让我们在下篇见吧!!!!!!(__) 嘻嘻……