装饰器语法糖
什么是装饰器语法糖
装饰器语法糖属于装饰器的
注意:在使用装饰器语法糖时,装饰器必须定义在被装饰对象之上
import time
# 统计函数执行时间装饰器
def wrapper(func):  # 被装饰对象
    def inner(*args, **kwargs):  # 被装饰对象的参数
        # 调用前增加新功能
        start_time = time.time()
        # 调用被装饰对象,并接收返回值
        res = func(*args, **kwargs)
        # 调用后添加新功能
        end_time = time.time()
        print(end_time - start_time)
        return res
    return inner
# func函数需要执行3秒
# 无参装饰器
# 使用装饰器
@wrapper  # wrapper(func)  ---> func
def func():
    time.sleep(3)
# 不用装饰器
def func2():
    time.sleep(3)
func()计算程序的运行时间(利用函数的语法糖)
import time
def time_timer(func):
    def inner():
        start_time = time.time()
        res = func()
        end_time = time.time()
        print(f'消耗了:{end_time - start_time}')
        return res
    return inner
@time_timer
def download_movie():
    print('开始下载电影...')
    time.sleep(3)
    print('下载完毕...')
    return '小泽.mp4'
download_movie()
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号