Python进阶: 通过实例详解装饰器(附代码)

2020-06-19 00:00:00 函数 参数 方法 装饰 正确
Python中的装饰器有很多用处,比如输出日志、参数检查、代理设置、计数计时、结果缓存等等。本文就通过几个装饰器例子,详细解释一下Python中装饰器的用法。
  • 一步步从简到繁学习装饰器用法
  • 其他一些装饰器实例
  • Python中自带的装饰器

按照惯例,先上代码:GitHub - xianhu/LearnPython: 以撸代码的形式学习Python

一步步从简到繁学习装饰器用法

(1)简单的装饰器,实现日志输出功能:

# 构建装饰器
def logging(func):
    @functools.wraps(func)
    def decorator():
        print("%s called" % func.__name__)
        result = func()
        print("%s end" % func.__name__)
        return result
    return decorator

# 使用装饰器
@logging
def test01():
    return 1

# 测试用例
print(test01())
print(test01.__name__)

相关文章