Python装饰器

import time

def display_time(func):              #display_time就是装饰器名称
    def wrapper():            #定义一个内函数
        t1 = time.time()        #写装饰器的目的就是为了不修改其他代码的情况下,能够添加一些功能,将装饰器功能写好后,@装饰器名称添加到你需要添加的方法前就行
        result = func()
        t2 = time.time()
        print("totals time is {:.4}s".format(t2 - t1))
        return result
    return  wrapper


def is_prime(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

@display_time
def count_prime_nums():
    count = 0
    for i in range(2,10000):
        if is_prime(i):
            count = count + 1
    return count

count = count_prime_nums()
print(count)

图中函数是为了实现计算2-10000所有素数的数量,并计算程序运行到结束时间,后续可能还会有计算2-10000偶数全部展示并计算时间,计算2-10000偶数有多少个并计算时间,写好计算时间装饰器,直接运用即可,代码整洁度高

posted @ 2021-11-08 17:13  非非非常帅的辰  阅读(27)  评论(0编辑  收藏  举报