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