1.实现一个打印当前时间的装饰器
import time
def func_time(func):
def inner(*args,**kw):
now_time = time.localtime()
print('函数开始运行的时间为:',time.strftime('%Y:%m:%d %H:%M:%S',now_time))
func(*args,**kw)
return inner
@func_time
def sum(x,y):
print(x,y)
sum(4,7)
#运行结果
函数开始运行的时间为:2018:11:23 14:36:59
11
2.函数运行总时间的装饰器
import time
def func_time(func):
def inner(*args,**kw):
start_time = time.time()
func(*args,**kw)
end_time = time.time()
print('函数运行时间为:',end_time-start_time,'s')
return inner
@func_time
def sum(x):
for i in range(1,x+1):
for j in range(1,i+1):
print(j,'*', i, '=',i*j,end=' ')
print()
sum(9)
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
函数运行时间为: 0.0009999275207519531 s
网友评论