装饰器的运用:
import time
def gettime(func): #计时,将整个函数prime代入
def wrapper(*args): #传入所有prime函数的参数
T1 = time.clock()
result = func(*args) #如果prime函数有返回值,要对返回值赋值
T2 = time.clock()
print(‘local time: %.2f’%(T2 - T1))
return result
return wrapper
def prime_nums(num):
if num < 2:
return False
elif num == 2:
return True
else:
for i in range(2,num):
if num % i == 0:
return False
return True
@gettime
def prime(maxnum):
count = 0
for i in range(2,maxnum):
if prime_nums(i):
count += 1
return count
以上整个函数做到了将计时,条件判断,工作三块分离.