装饰器2:函数参数为1个、多个、列表、字典时如何装饰
2018-04-17 16:42 今天我要学习 阅读(326) 评论(0) 收藏 举报#coding=utf-8
#定义装饰器,带不固定参数
import time
def decorator2(fun):
def fun1(*args,**kwargs):
s_time = time.time()
fun(*args,**kwargs)
e_time = time.time()
c_time = int(e_time - s_time)
print '该函数的运行时间:%s秒'%c_time
return fun1
#被装饰的函数
#无参数
@decorator2
def test1():
time.sleep(1)
print '无参的test1:'
#一个参数
@decorator2
def test2(name):
time.sleep(1)
print '参数是:',name
print '一个参数的test2:'
#列表参数
@decorator2
def test3(list1):
time.sleep(1)
print '列表是:', list1
print '一个参数的test2:'
#字典参数
@decorator2
def test4(dic1):
time.sleep(1)
print '字典是:', dic1
print '一个参数的test2:
'#多个参数
@decorator2
def test5(name,age,color):
time.sleep(1)
print '参数是:', name,age,color
print '多个参数的test3:'
test1()
test2('君浩')
test3([1,2,3,4,5])
test4({'a':1})
test5('junhao',1,'good')
结果:
无参的test1:
该函数的运行时间:1秒
参数是: 君浩
一个参数的test2:
该函数的运行时间:1秒
列表是: [1, 2, 3, 4, 5]
一个参数的test2:
该函数的运行时间:1秒
字典是: {'a': 1}
一个参数的test2:
该函数的运行时间:1秒
参数是: junhao 1 good
多个参数的test3:
该函数的运行时间:1秒
浙公网安备 33010602011771号