定义:使用创建一个闭包函数,在闭包函数内调用目标函数,可以达到不改动目标函数的同时,增加额外的功能
# 装饰器的一般写法(闭包)
def outer(func):
def inner():
print("我要睡觉了")
func()
print("我要起床了")
return None
return inner
def sleep():
import random
import time
print("睡眠中。。。")
time.sleep(random.randint(1, 5))
return None
fn = outer(sleep)
fn()
# 装饰器的快捷写法(语法糖)
def outer(func):
def inner():
print("我要睡觉了")
func()
print("我要起床了")
return None
return inner
@outer
def sleep():
import random
import time
print("睡眠中。。。")
time.sleep(random.randint(1, 5))
return None
sleep()
参考内容:
黑马程序员