码迷,mamicode.com
首页 > 其他好文 > 详细

装饰器

时间:2018-04-30 12:05:03      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:def   tar   run   条件   运行   **kwargs   imp   本质   方式   

装饰器:本质还是一个函数(装饰其他函数),为了替其他函数添加附加功能

原则:1、不修改被装饰函数的源代码。2、不修改被装饰函数的调用方式

实现装饰器必要条件:

一、函数即‘变量’

二、高阶函数

三、嵌套函数

计算一个函数运行时间:

import time
def timer(func): #timer(aa) func=aa 高阶函数
def deco(*args,**kwargs): # 内嵌函数
start_time=time.time()
func(*args,**kwargs)
stop_time=time.time()
print(‘run time:%s‘%(stop_time-start_time))
return deco
@timer #aa=timer(aa)
def aa():
time.sleep(3)
print(‘i am aa!‘)
@timer
def bb(name):
time.sleep(1)
print(‘i am ‘,name)

aa()
bb(‘zhow‘)

装饰器

标签:def   tar   run   条件   运行   **kwargs   imp   本质   方式   

原文地址:https://www.cnblogs.com/zhowhen/p/8972910.html

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