Python装饰器语法糖


Posted in Python onJanuary 02, 2019

Python装饰器语法糖代码示例

####装饰器的固定格式
##普通版本
def timer(func):
  def inner(*args,**kwargs):
    '''执行函数之前要做的'''
    ret = func(*args,**kwargs)
    '''执行函数之后要做的'''
    return ret
  return inner
##wraps版本
from functools import wraps
def deco(func):
  @wraps(func) #加在最内层函数正上方
  def wrapper(*args,**kwargs):
    return func(*args,**kwargs)
  return wrapper
####带参数的装饰器
def outer(flag):
  def timer(func):
    def inner(*args,**kwargs):
      if flag:
        print('''执行函数之前要做的''')
      ret = func(*args,**kwargs)
      if flag:
        print('''执行函数之后要做的''')
      return ret
    return inner
  return timer
@outer(True)
def func():
  return '返回值'
x=func()
print(x)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
Python translator使用实例
Sep 06 Python
Python中shutil模块的常用文件操作函数用法示例
Jul 05 Python
Fabric 应用案例
Aug 28 Python
不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决
Sep 24 Python
Python断言assert的用法代码解析
Feb 03 Python
Python打印“菱形”星号代码方法
Feb 05 Python
python-OpenCV 实现将数组转换成灰度图和彩图
Jan 09 Python
Python中logging日志记录到文件及自动分割的操作代码
Aug 05 Python
python selenium xpath定位操作
Sep 01 Python
Python脚本打包成可执行文件过程解析
Oct 20 Python
Python控制台输出俄罗斯方块的方法实例
Apr 17 Python
浅谈Python基础之列表那些事儿
May 11 Python
Python WEB应用部署的实现方法
Jan 02 #Python
Python功能点实现:函数级/代码块级计时器
Jan 02 #Python
详解如何在Apache中运行Python WSGI应用
Jan 02 #Python
漂亮的Django Markdown富文本app插件的实现
Jan 02 #Python
对Python发送带header的http请求方法详解
Jan 02 #Python
Django渲染Markdown文章目录的方法示例
Jan 02 #Python
使用python 打开文件并做匹配处理的实例
Jan 02 #Python
You might like
php addslashes和mysql_real_escape_string
2010/01/24 PHP
php抓取页面的几种方法详解
2013/06/17 PHP
解析php中反射的应用
2013/06/18 PHP
PHP基于redis计数器类定义与用法示例
2018/02/08 PHP
PHP中->和=>的含义及使用示例解析
2020/08/06 PHP
Jquery 基础学习笔记
2009/05/29 Javascript
在模板页面的js使用办法
2010/04/01 Javascript
javascript 单例/单体模式(Singleton)
2011/04/07 Javascript
cument.execCommand()用法深入理解
2012/12/04 Javascript
js判断输入是否为数字的具体实例
2013/08/03 Javascript
js实现延迟加载的方法
2015/06/24 Javascript
JavaScript判断浏览器及其版本信息
2017/01/20 Javascript
Express使用html模板的详细代码
2017/09/18 Javascript
vue技术分享之你可能不知道的7个秘密
2018/04/09 Javascript
解决vue中修改export default中脚本报一大堆错的问题
2018/08/27 Javascript
快速对接payjq的个人微信支付接口过程解析
2019/08/15 Javascript
JavaScript监听触摸事件代码实例
2019/12/30 Javascript
JavaScript设计模式之策略模式实现原理详解
2020/05/29 Javascript
[49:17]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第三场 1月26日
2021/03/11 DOTA
python列表去重的二种方法
2014/02/14 Python
python中global与nonlocal比较
2014/11/21 Python
python计算牛顿迭代多项式实例分析
2015/05/07 Python
在Django的URLconf中使用多个视图前缀的方法
2015/07/18 Python
Python编程中归并排序算法的实现步骤详解
2016/05/04 Python
python3音乐播放器简单实现代码
2020/04/20 Python
详解Python学习之安装pandas
2019/04/16 Python
python读csv文件时指定行为表头或无表头的方法
2019/06/26 Python
Python中的延迟绑定原理详解
2019/10/11 Python
wxPython色环电阻计算器
2019/11/18 Python
python 实现一个反向单位矩阵示例
2019/11/29 Python
华为python面试题
2016/05/03 面试题
资产评估专业学生的自我鉴定
2013/11/14 职场文书
重阳节活动总结
2014/08/27 职场文书
2019行政前台转正申请书范文3篇
2019/08/15 职场文书
数据库的高级查询六:表连接查询:外连接(左外连接,右外连接,UNION关键字,连接中ON与WHERE的不同)
2021/04/05 MySQL
python脚本框架webpy模板控制结构
2021/11/20 Python