python装饰器

原创 2018年04月17日 16:43:35
def w1(func):
    def inner(*args,**kwargs):
        # you code
        return func(*args,**kwargs)
    return inner
 
@w1
def f1(arg1,arg2,arg3):
    print 'f1' 

以上代码理解:(w1(f1))(arg1,arg2,arg3)

def w1(func):
    def inner(*args,**kwargs):
        # you code
        return func(*args,**kwargs)
    return inner
 
def w2(func):
    def inner(*args,**kwargs):
        # you code
        return func(*args,**kwargs)
    return inner
 
 
@w1
@w2
def f1(arg1,arg2,arg3):
    print 'f1'

以上代码理解:(w1(w2(f1)))(arg1,arg2,arg3)

def Before(request,kargs):
    print 'before'
      
def After(request,kargs):
    print 'after'
  
  
def Filter(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
      
@Filter(Before, After)
def Index(request,kargs):
    print 'index'
以上代码理解:(Filter(Before, After)(Index))(request,kargs)


深入理解Python 装饰器(decorator)

返璞归真, 看山还是山 刚看到Python装饰器时, 觉得很神奇。简单实验下,发现也就那么回事。但是慢慢的看到越来越多的装饰器。很多时候又不了解到底是怎么回事了。最后还是决定好好研究下。先看看一些实例...
  • TangHuanan
  • TangHuanan
  • 2015-04-17 11:12:38
  • 9586

Python实战小程序——装饰器

第四题:简述对Python装饰器的理解,写一个简单的装饰器。 要理解装饰器,我们先介绍一下几点python的基础知识。 1、作用域(命名空间)及变量生存周期 有过一点编程基础的都知道namesp...
  • misayaaaaa
  • misayaaaaa
  • 2016-11-04 16:15:29
  • 979

浅谈Python装饰器

浅谈Python装饰器 By 马冬亮(凝霜  Loki) 一个人的战争(http://blog.csdn.net/MDL13412) 前置知识 一级对象 Python将一切视为 objec t的...
  • MDL13412
  • MDL13412
  • 2014-03-30 22:07:27
  • 42189

Python-自定义装饰器

什么是装饰器?装饰器本质是一个函数,它可以在不改变原来的函数的基础上额外的增加一些功能。如常见的@classmethod,@staticmethod等都是装饰器,接下来记录下如何自定义个装饰器:刚刚说...
  • y472360651
  • y472360651
  • 2017-06-10 20:18:33
  • 1360

python装饰器--原来如此简单

python装饰器–原来如此简单今天整理装饰器,内嵌的装饰器、让装饰器带参数等多种形式,非常复杂,让人头疼不已。但是突然间发现了装饰器的奥秘,原来如此简单。。。。第一步 :从最简单的例子开始# -*-...
  • u013858731
  • u013858731
  • 2017-02-10 16:27:56
  • 2488

python装饰器(decorator)

什么是装饰器(decorator)   简单来说,可以把装饰器理解为一个包装函数的函数,它一般将传入的函数或者是类做一定的处理,返回修改之后的对象.所以,我们能够在不修改原函数的基础上,在执行原函数前...
  • shuaijiasanshao
  • shuaijiasanshao
  • 2016-05-12 16:05:22
  • 3087

python 缓存装饰器

代码摘自https://github.com/ma6174/pycache 1、使用python内存进行缓存 autocache.py#!/usr/bin/env python #coding=u...
  • liuliuzi_hz
  • liuliuzi_hz
  • 2016-01-12 15:15:50
  • 857

Python-装饰器以及对带有参数的装饰器的理解

前几天在学这篇教程,闭包和装饰器的事情各种不懂. http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac927...
  • wowo878787
  • wowo878787
  • 2016-01-25 02:12:48
  • 1358

Python-开发之路-装饰器&多层装饰器简介

装饰器、两层装饰器的简介,深入的还请继续深挖
  • qq_34409701
  • qq_34409701
  • 2016-06-05 15:37:55
  • 1279

Python 多层装饰器

前言Python 的装饰器能够在不破坏函数原本结构的基础上,对函数的功能进行补充。当我们需要对一个函数补充不同的功能,可能需要用到多层的装饰器。在我的使用过程中,遇到了两种装饰器层叠的情况,这里把这两...
  • u010185894
  • u010185894
  • 2017-05-05 10:26:48
  • 395
收藏助手
不良信息举报
您举报文章:python装饰器
举报原因:
原因补充:

(最多只允许输入30个字)