博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 的装饰器
阅读量:4449 次
发布时间:2019-06-07

本文共 690 字,大约阅读时间需要 2 分钟。

Python 在语言级别提供了装饰器模式的实现,代码中Python内置的 functools.wraps 会完成包括函数名属性处理替换

#!/usr/bin/env python3#--coding:utf-8--import functoolsdef log1(func):    @functools.wraps(func)    def wrapper(*args, **kw):        print('log1 message')        return func(*args, **kw)    return wrapper@log1def fn1():    print('fn1 working...')fn1()def log2(text):    def decorator(func):        @functools.wraps(func)        def wrapper(*args, **kw):            print('log2 message: {0}'.format(text))            return func(*args, **kw)        return wrapper    return decorator@log2('python3') # 此处和 log2 定义对应,传入 text 参数def fn2():    print('fn2 working...')fn2()

 

转载于:https://www.cnblogs.com/m2492565210/p/7250976.html

你可能感兴趣的文章
先序遍历和后序遍历构建二叉树
查看>>
linux xorddos样本分析1
查看>>
【数论】-素数问题整理
查看>>
提高你的Java代码质量吧:正确使用String、StringBuffer、StringBuilder
查看>>
[happyctf]部分writeup
查看>>
HDU 1195 Open the Lock(BFS)
查看>>
Struts2的crud
查看>>
java上传文件
查看>>
大学生对技术网站需求的调查问卷结果分析
查看>>
测试一
查看>>
vertx的HttpServer模块
查看>>
as3事件流机制彻底理解
查看>>
Selenium webdriver操作日历控件
查看>>
Pascal程序练习-与7无关的数
查看>>
Linux:cut命令...未完待续
查看>>
微信小程序从零开始开发步骤(一)搭建开发环境
查看>>
SQL*Net more data to client
查看>>
Tcpdump使用方法总结
查看>>
PX4地面站QGroundControl在ubuntu下的安装
查看>>
react实现svg实线、虚线、方形进度条
查看>>