码迷,mamicode.com
首页 > 编程语言 > 详细

python装饰器

时间:2014-07-13 22:38:16      阅读:328      评论:0      收藏:0      [点我收藏+]

标签:style   blog   java   color   使用   strong   

from time import time
def cost_time(func):
    def result(*arg,**args):
        begin=time()
        func(*arg,**args)
        print "cost time:",time()-begin
    return result

@cost_time
def show(n):
    for x in range(n):
        print x


show(10)

@A def B:pass 等价于 def B:pass B=A(B) 即将函数B作为参数传给参数A 

装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理等。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。

 

内置的装饰器

内置的装饰器有三个,分别是staticmethod、classmethod和property,作用分别是把类中定义的实例方法变成静态方法、类方法和类属性。由于模块里可以定义函数,所以静态方法和类方法的用处并不是太多,除非你想要完全的面向对象编程。而属性也不是不可或缺的,Java没有属性也一样活得很滋润。从我个人的Python经验来看,我没有使用过property,使用staticmethod和classmethod的频率也非常低。

 

 

python装饰器,布布扣,bubuko.com

python装饰器

标签:style   blog   java   color   使用   strong   

原文地址:http://www.cnblogs.com/lxj8495138/p/3840504.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!