Python知识锦集

Python mini-web框架3:装饰器

2019-01-08  本文已影响0人  IIronMan

一、看一个例子,来引出装饰器

需求:在不改变下面 test() 函数的情况下,执行函数的情况下先进行其他的步骤,看下面的实现

def set_func(func):

    print("----开始装饰----")

    def run_func():
        print("----验证权限1----")
        func()
    return run_func


def test1():
    print("----test----")

test1 = set_func(test1)
test1()

执行结果是:

----开始装饰----
----验证权限1----
----test----
引出装饰器

二、装饰器的介绍以及参数

对应有返回值函数进行装饰、通用装饰器

总结:不要觉得装饰器很难,其实它就是:函数的指向的改变,以闭包为例,闭包作为另一个函数的装饰器,装饰后,在闭包的内部函数再去调用函数,其实就是在函数执行之前先调用闭包内的代码。

上一篇 下一篇

猜你喜欢

热点阅读