直男双鱼座Python开发工程师"/> Python模块之装饰器 创建时间: 2023-10-21 | 分类于 Python | 阅读量: 本文字数: 3.1k | 阅读时长 ≈ 3 分钟 Python Python模块系列 Python模块系列 Python项目常用的模块代码。 版本 名称 版本 Python 3 语法糖个人的理解,总结起来一句话就是把方法作为参数的方法。 示例123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103# -*- coding: utf-8 -*-"""------------------------------------------------describe: Decoratorsbase_info: __author__ = "PyGo" __time__ = "2023/10/22 20:58" __version__ = "v.1.0.0" __mail__ = "gaoming971366@163.com" __blog__ = "www.pygo2.top" __project__ = "open2lisapi"usage: @deprecated @timer @debug def add(a, b, *args, **kwargs): for i in range(10): print(i) add(100, 300, 1000, c=2000, d=2000)design:reference urls:python version: python3Enjoy the good life everyday!!!Life is short, I use python.------------------------------------------------"""# ------------------------------------------------------------# usage: /usr/bin/python decorators.py# ------------------------------------------------------------from datetime import datetimefrom functools import wrapsimport warningsdef decorator(func): """ 装饰器模板 """ @wraps(func) def __wrapper(*args, **kwargs): # 额外功能 result = func(*args, **kwargs) # 额外功能 print("[Decorator] >>>>> %s." % func.__name__) return result return __wrapper# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *def timer(func): """ 方法执行时间装饰器 """ @wraps(func) def __wrapper(*args, **kwargs): start_time = datetime.now() result = func(*args, **kwargs) end_time = datetime.now() cost = round((end_time - start_time).microseconds * pow(0.1, 6), 3) print("[timer] >>>>> %s cost %s seconds." % (func.__name__, cost)) return result return __wrapper# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *def debug(func): """ debug装饰器 """ @wraps(func) def __wrapper(*args, **kwargs): print('* ' * 55) print("[Debugging] >>>>> %s - args: %s, kwargs: %s" % (func.__name__, args, kwargs)) print('* ' * 55) return func(*args, **kwargs) return __wrapper# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *def deprecated(func): """ 方法过时提示 """ @wraps(func) def __wrapper(*args, **kwargs): warnings.warn("[%s] is deprecated and will be removed in future versions." % func.__name__, DeprecationWarning) return func(*args, **kwargs) return __wrapper 坚持学习。。。。。。 本文作者:mingliang.gao【一个爱老婆的Python程序猿。。。。。。】 本文链接: http://pygo2.top/articles/29210/ 版权声明: 本博客所有文章欢迎转载,转载请注明出处! 觉得有帮助 请偶坐个公交车 打赏 微信支付 支付宝