装饰器
- 内部实现原理,例如在 slepp 功能基础上增加开始睡觉和睡醒了的功能
def outer(mmsleep):
def inner():
print("开始睡觉---")
mmsleep()
print("睡醒了---")
return inner
def sleep():
import random
import time
time.sleep(random.randint(1,4))
print("睡眠中-----")
mysleep = outer(sleep)
mysleep()
#打印输出
开始睡觉---
睡眠中-----
睡醒了---
- 装饰器实现,未修改 sleep() 函数调用方式,新增加了相关功能
def outer(mmsleep):
def inner():
print("开始睡觉---")
mmsleep()
print("睡醒了---")
return inner
@outer
def sleep():
import random
import time
time.sleep(random.randint(1,4))
print("睡眠中-----")
sleep()
#打印输出
开始睡觉---
睡眠中-----
睡醒了---