随笔分类 -  装饰器

摘要:一、根据用户传递的参数,动态修改装饰器的入参 二、实例: import time,logging,randomdef timeout(t): def outter(func): def inner(*args, **kwargs): t0 = time.time() res = func(*args 阅读全文
posted @ 2021-06-02 16:47 只管去做-王炸 阅读(126) 评论(0) 推荐(0)
摘要:一、带参数装饰器是生产装饰器的工厂,返回的是装饰器实例;而装饰器内部返回的是被装饰函数的实例 二、实例: def type_assert(*ty_args, **kwargs): def outter(func): def inner(*args, **kwargs): print(*ty_args 阅读全文
posted @ 2021-06-02 14:53 只管去做-王炸 阅读(84) 评论(0) 推荐(0)
摘要:一、使用装饰器可以提高重用性,使用缓存可以提高执行效率 二、实现实例: def outter(func): cache = {} def inner(*args): if cache.get(args): res = cache.get(args) return res res = cache[ar 阅读全文
posted @ 2021-06-01 10:57 只管去做-王炸 阅读(128) 评论(0) 推荐(0)
摘要:一、装饰器是一种特殊的闭包函数,内部函数引用外部函数中的变量或者函数,形成闭包 二、装饰器实例: from functools import wrapsdef outter(func): ####调用func.__name__ 和func.__doc__时打印的是被装饰函数而不是inner @wra 阅读全文
posted @ 2021-06-01 10:42 只管去做-王炸 阅读(83) 评论(0) 推荐(0)