简介

  • 装饰器就是使用创建一个闭包函数,在闭包函数内调用目标函数。
  • 可以达到不改动目标函数的同时,增加额外的功能。

写法

def outer(func):
    def inner():
        print('开始延迟')
        func()
        print('延迟结束') 
    return inner
def yanchi():
    import random
    import time
    seconds = random.randint(1,5)
    print(f"延迟{seconds}秒")
    time.sleep(seconds)
'''
fn = outer(yanchi)
fn()
'''
# 糖写法
@outer  # 定义在目标函数之上,和第14行功能一致
def yanchi_2():
    import random
    import time
    seconds = random.randint(1,5)
    print(f"延迟{seconds}秒")
    time.sleep(seconds)
yanchi_2()

输出

开始延迟
延迟2秒
延迟结束
最后修改:2025 年 01 月 14 日
如果觉得我的文章对你有用,请随意赞赏