• python装饰器


    #coding=utf-8

    def outer(fun):
    def wrapper():
    print ('验证')

    fun()

    print ('验证成功')
    return wrapper

    @outer
    def func1():
    print ('func1')

    @outer
    def func2():
    print ('func2')

    @outer
    def func3():
    print ('func3')

    @outer
    def func4():
    print ('func4')


    def before_func(request,kargs):
    print ('myname is before func,request is %s,kargs is %s'%(request,kargs))

    def main_func(request,kargs):
    print ('myname is main func,request is %s,kargs is %s'%(request,kargs))


    def after_func(request,kargs):
    print ('myname is after func,request is %s,kargs is %s'%(request,kargs))


    #装饰器的层层嵌套
    def fiter(before_func,after_func):
    def outer(main_func):
    def wrapper(request,kargs):
    before_result=before_func(request,kargs)
    if before_result != None:
    return before_result
    main_result=main_func(request,kargs)

    if main_result != None:
    return main_result

    after_result=after_func(request,kargs)
    if after_result != None:
    return after_result
    return wrapper
    return outer


    @fiter(before_func,after_func)
    def test(request,args):
    print ('running...')

    if __name__=="__main__":

    # func1()
    #
    # func2()
    #
    # func3()
    #
    # func4()

    s=test('hello','word')

    print (s)
  • 相关阅读:
    ThreadPoolExecutor使用介绍
    apache和tomcat区别(转)
    ThreadFactory的理解
    Tomcat报45秒无法启动错误修改方法
    快速排序
    冒泡排序
    矩阵快速幂
    CF#524-C
    CF#524-B
    hdu3308—LCIS
  • 原文地址:https://www.cnblogs.com/qinjiting/p/10467820.html
Copyright © 2020-2023  润新知