zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    生产者消费者模型
    查看网络通不通的几种方法
    tomcat在45秒内没有启动,启动超时
    request获取各种路径
    修改web项目发布路径
    web.xml不同版本的头
    Web.xml 错误或异常页面配置
    ModelAndView command
    java初始化顺序
    初始化时的过程
  • 原文地址:https://www.cnblogs.com/qinjiting/p/10467820.html
Copyright © 2011-2022 走看看