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

Python基础-装饰器

时间:2017-10-16 12:18:18      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:tar   pen   一个   lag   性能测试   return   场景   for   sleep   

装饰器
装饰器本质上是一个函数,该函数用来处理其他函数,他可以让其他函数在不需要修改代码的前提下增加额外的功能,装饰器返回值
也是一个函数对象,它经常用于有切面环境的场景,比如插入日志、性能测试、事务处理、缓存、权限校验等应用场景
装饰器就是为已存在的对象添加额外的功能。
简单装饰器
import time
def show_time(f):
    def inner():
            start = time.time()
            f()
            end = time.time()
            print(spend %s % (end - start))
    return inner

@show_time
def fansik():
    for i in range(1000):
        print(fansik %d % i)
    time.sleep(3)
fansik()

带参数的装饰器

import time
def logger(flag=‘‘):
    def show_time(f):
        def inner():
            start = time.time()
            f()
            end = time.time()
            print(spend %s % (end - start))
            if flag == true:
                print(记录日志)
        return inner
    return show_time

@logger(true)
def fansik():
    print(exec fansik function)
    time.sleep(3)
fansik()

 

Python基础-装饰器

标签:tar   pen   一个   lag   性能测试   return   场景   for   sleep   

原文地址:http://www.cnblogs.com/fansik/p/7676168.html

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