(有任何问题欢迎留言或私聊 && 欢迎交流讨论哦
装饰器(Decorator):
个人感觉装饰器的方便在于可以在不修改原代码基础上,新增其他功能,可以很方便调试啥的。。。
一段代码:
import math
import time
def display_time(func): #装饰器也就是一个函数
def wrapper(*args): #再来一个函数
t1 = time.time()
res = func(*args) #引入func函数, 挺方便哒
t2 = time.time()
print("Total time: {:.4} s".format(t2-t1))
print("Total time: %.4f s %s king"%(t2-t1,'RNG and RW'))
return res
return wrapper
def is_prime(num): #判断是不是素数
if num < 2:
return False
elif num <= 3:
return True
else :
tmp = int(math.sqrt(num)) + 1
for i in range(2, tmp):
if num % i == 0:
return False
return True
@display_time #装饰器就是加一句这个代码
def prime_num(num):
cnt = 0
for i in range(2, num + 1):
if is_prime(i):
cnt += 1
return cnt
cnt = prime_num(100)
print( cnt )