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中实现从目录中过滤出指定文件类型的文件
Feb 02 Python
编写自定义的Django模板加载器的简单示例
Jul 21 Python
安装ElasticSearch搜索工具并配置Python驱动的方法
Dec 22 Python
python如何压缩新文件到已有ZIP文件
Mar 14 Python
浅析Python数据处理
May 02 Python
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
May 04 Python
Python爬虫实现(伪)球迷速成
Jun 10 Python
python 二维数组90度旋转的方法
Jan 28 Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
Apr 09 Python
python3 动态模块导入与全局变量使用实例
Dec 22 Python
python numpy 矩阵堆叠实例
Jan 17 Python
Python多线程Threading、子线程与守护线程实例详解
Mar 24 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
ThinkPHP实现非标准名称数据表快速创建模型的方法
2014/11/29 PHP
Yii框架结合sphinx,Ajax实现搜索分页功能示例
2016/10/18 PHP
PHP AjaxForm提交图片上传并显示图片源码
2016/11/29 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
2020/12/16 PHP
php gethostbyname获取域名ip地址函数详解
2010/01/24 Javascript
腾讯UED 漂亮的提示信息效果代码
2011/09/12 Javascript
jQuery.event兼容各浏览器的event详细解析
2013/12/18 Javascript
jQuery对象的length属性用法实例
2014/12/27 Javascript
JS模仿编辑器实时改变文本框宽度和高度大小的方法
2015/08/17 Javascript
JS控制伪元素的方法汇总
2016/04/06 Javascript
使用jQuery制作浮动工具栏的实例分享
2016/05/13 Javascript
js实现textarea限制输入字数
2017/02/13 Javascript
JS简单获取并修改input文本框内容的方法示例
2018/04/08 Javascript
javascript闭包的使用之按钮切换功能
2018/08/30 Javascript
详解JavaScript 的执行机制
2020/09/18 Javascript
[47:46]完美世界DOTA2联赛 Magma vs GXR 第三场 11.07
2020/11/10 DOTA
Python输入二维数组方法
2018/04/13 Python
TensorFlow 滑动平均的示例代码
2018/06/19 Python
基于pycharm导入模块显示不存在的解决方法
2018/10/13 Python
Python时间差中seconds和total_seconds的区别详解
2019/12/26 Python
关于Python3的import问题(pycharm可以运行命令行import错误)
2020/11/18 Python
浅谈CSS3中的变形功能-transform功能
2017/12/27 HTML / CSS
基于MUI框架使用HTML5实现的二维码扫描功能
2018/03/01 HTML / CSS
英国性感内衣和睡衣品牌:Bluebella
2018/01/26 全球购物
JPA面试常见问题
2016/11/14 面试题
Laravel中Kafka的使用详解
2021/03/24 PHP
会议活动邀请函
2014/01/27 职场文书
大学生毕业求职信
2014/06/12 职场文书
六一儿童节活动总结
2014/08/27 职场文书
2014个人四风对照检查材料思想汇报
2014/09/18 职场文书
学习党的群众路线对照检查材料
2014/09/29 职场文书
代办社保委托书范文
2014/10/06 职场文书
农村文化建设标语
2014/10/07 职场文书
考试没考好检讨书(精选篇)
2014/11/16 职场文书
入党团支部推荐意见
2015/06/02 职场文书
南阳市白酒市场的调查报告
2019/11/08 职场文书