python装饰器

原创 2015年07月08日 21:50:02
装饰器是AOC(面向横切面的编程),它的功能在函数运行前与运行后完成一系列的操作,改变函数输出的结果。主要用在日志打印等方面,稍后补充。
#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'cherry'

import time

def timeit(fn):
    def wrapper(a, b):
        print 'start: ', time.time()
        fn(a, b)
        print 'end: ', time.time()
    return wrapper


def fn(a, b):
    print a + b
    return

func = timeit(fn)
func(1, 2)#有返回值才可以调用,因此timeit必须有返回值fn
func(3, 4)

这里用内嵌函数可以保证fn函数在两次执行中都会调用timeit函数返回的结果,同时需要了解装饰器如何传递参数。

Python装饰器:简单装饰,带参数装饰与类装饰器

Python装饰器学习(九步入门) 这是在Python学习小组上介绍的内容,现学现卖、多练习是好的学习方式。 第一步:最简单的函数,准备附加额外功能 # -*- coding:g...
  • dreamcoding
  • dreamcoding
  • 2013年02月25日 22:58
  • 25766

Python多个装饰器的顺序

原文链接:http://www.cnblogs.com/nisen/p/6193426.html?utm_source=itdadao&utm_medium=referral 装饰器是Pyth...
  • jyhhhhhhh
  • jyhhhhhhh
  • 2017年01月20日 02:51
  • 2062

Python装饰器详解

在上一篇文章中我们提到了闭包,也就是将函数作为返回值返回。闭包搞懂了之后,接下来的内容就很简单了。在定义了许多函数之后,我们希望扩展这些函数的功能,譬如在函数调用前后自动打印日志,但如果是一些通用的功...
  • destinyuan
  • destinyuan
  • 2016年05月31日 20:12
  • 1119

python 常用装饰器

@property 对于类的方法, Python内置的@property装饰器就是负责把一个方法变成属性调用的...
  • flyDeDog
  • flyDeDog
  • 2017年03月31日 15:17
  • 348

浅谈Python装饰器

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

Python实战小程序——装饰器

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

Python-自定义装饰器

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

Python 装饰器装饰类中的方法

title: Python 装饰器装饰类中的方法 comments: true date: 2017-04-17 20:44:31 tags: ['Python', 'Decorate'] c...
  • hesi9555
  • hesi9555
  • 2017年04月18日 09:54
  • 2237

Python 装饰器的典型使用场景(2)

Python 装饰器的典型使用场景(2)
  • qq_26886929
  • qq_26886929
  • 2017年01月07日 11:05
  • 1374

python @装饰器 详解

距离我上一次写文章到现在已经颇有一段时间了,我想差不多也该在博客里开始新的系列了。 本文是我称为「这不是魔法」系列的第一篇,我准备在里面展示一些热门开源包提供的友好API是如何通过它们各自语言的...
  • uselym
  • uselym
  • 2016年09月12日 13:59
  • 2604
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python装饰器
举报原因:
原因补充:

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