Python装饰器

142 阅读1分钟

装饰器的作用

在不改变原函数的情况下,为函数增加一些新的功能

python装饰器器本质是一个函数 案例:python装饰器实现计算运行时间

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author  : yunze
import time


def display_time(func):
    def wapper(*args):
        t1 = time.time()
        result = func(*args)
        t2 = time.time()
        print(t2 - t1)
        print(*args)
        return result
    return wapper


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(maxnum):
    count_num = 0
    for i in range(2, maxnum):
        if is_prime(i):
            count_num = count_num+1
    return count_num


count = count_prime_nums(1000)
print(count)

python装饰器传参,并使用函数传参

1、在装饰器函数和func中设置参数

2、使用装饰器