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

python_装饰器

时间:2017-04-10 11:10:42      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:--   详解   highlight   stop   imm   结构   等于   添加   return   

装饰器的语法结构:

使用关键字 @。

 

#高阶函数 加上闭包返回值:高阶函数就是不在原函数体上数据和调用结果,添加其他的功能
def timmer(func):
    def warpper():
        start_time = time.time() #开始时间
        res = func()   #这个的函数是调用的test()
        stop_time = time.time() #结束时间
        print(‘查看我运行的时间是:%s‘ %(stop_time-start_time))
        return res
    return warpper

@timmer   #就等于是test=timmer(test) 不会改变test源代码
def test():
    time.sleep(2)
    print(‘我是test‘)
    # print(‘我叫【%s】,我今年【%s】,我是【%s】‘%(name,age,sex)
    return "这是test的返回值"
# res = timmer(test)
# res
res = test()
print(res) #这个打印是打印的(return "这是test的返回值")

 

#####装饰器语法详解
import time

‘‘‘
@timmer   #index = timmer(index)  
index = timmer(index)
index()就等于---->返回的结果就是warper(),所以运行的就是warper()里面的代码。
‘‘‘
def timmer(x):
    def warper():
        start_time = time.time()
        x()
        stop_time = time.time()
        print(‘运行的时间:%d‘%(stop_time - start_time))
    return warper

@timmer   #index = timmer(index)
def index():
    time.sleep(4)
    print(‘from the index‘)

index()

  

 

python_装饰器

标签:--   详解   highlight   stop   imm   结构   等于   添加   return   

原文地址:http://www.cnblogs.com/yangxiang1/p/6687642.html

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