您的位置:首页 > 编程语言 > Python开发

Python基础-装饰器

2017-10-16 11:27 232 查看
装饰器
装饰器本质上是一个函数,该函数用来处理其他函数,他可以让其他函数在不需要修改代码的前提下增加额外的功能,装饰器返回值
也是一个函数对象,它经常用于有切面环境的场景,比如插入日志、性能测试、事务处理、缓存、权限校验等应用场景
装饰器就是为已存在的对象添加额外的功能。
简单装饰器


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()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: