无法理解Python装饰器代码

时间:2017-02-13 21:37:13

标签: python python-decorators

我试图了解Python装饰器。我通过的指南引用了这段代码:

from time import sleep


def sleep_decorator(function):

    """
    Limits how fast the function is
    called.
    """

    def wrapper(*args, **kwargs):
        sleep(2)
        return function(*args, **kwargs)
    return wrapper


@sleep_decorator
def print_number(num):
    return num

print(print_number(222))

for num in range(1, 6):
    print(print_number(num))

如果我正确理解这一点,@sleep_decorator基本上会运行sleep_decorator(print_number(num))。我努力理解的是打印功能和下面的循环如何适合整个事情。这些都是装饰者的一部分吗?或@sleep_decorator重新定义print_number是否始终贯穿sleep_decorator函数?

0 个答案:

没有答案