Python装饰器Decorator的使用简析

(有任何问题欢迎留言或私聊 && 欢迎交流讨论哦

装饰器(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 )

猜你喜欢

转载自blog.csdn.net/qq_39599067/article/details/80976912