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解析模块(ConfigParser)使用方法
Dec 10 Python
Python中使用items()方法返回字典元素对的教程
May 21 Python
浅析Python基础-流程控制
Mar 18 Python
pyqt5之将textBrowser的内容写入txt文档的方法
Jun 21 Python
对python中的os.getpid()和os.fork()函数详解
Aug 08 Python
python-tornado的接口用swagger进行包装的实例
Aug 29 Python
python调用matplotlib模块绘制柱状图
Oct 18 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
Jan 04 Python
基于python实现MQTT发布订阅过程原理解析
Jul 27 Python
利用Python实现最小二乘法与梯度下降算法
Feb 21 Python
python如何利用traceback获取详细的异常信息
Jun 05 Python
OpenCV图像变换之傅里叶变换的一些应用
Jul 26 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
fleaphp下不确定的多条件查询的巧妙解决方法
2008/09/11 PHP
php adodb连接mssql解决乱码问题
2009/06/12 PHP
PHP COOKIE设置为浏览器进程
2009/06/21 PHP
批量获取memcache值并按key的顺序返回的实现代码
2011/06/14 PHP
WordPress过滤垃圾评论的几种主要方法小结
2016/07/11 PHP
php排序算法实例分析
2016/10/17 PHP
实例讲解PHP页面静态化
2018/02/05 PHP
Ajax+PHP实现的分类列表框功能示例
2019/02/11 PHP
多个iframe自动调整大小的问题
2006/09/18 Javascript
判断客户端浏览器是否安装了Flash插件的多种方法
2010/08/11 Javascript
23个超流行的jQuery相册插件整理分享
2011/04/25 Javascript
Extjs4中Form的使用之本地hiddenfield
2013/11/26 Javascript
jQuery each函数源码分析
2016/05/25 Javascript
解析如何利用iframe标签以及js制作时钟
2016/12/08 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
js实现淡入淡出轮播切换功能
2017/01/13 Javascript
浅谈js中同名函数和同名变量的执行问题
2017/02/12 Javascript
详解vue渲染从后台获取的json数据
2017/07/06 Javascript
收藏AngularJS中最重要的核心功能
2017/07/09 Javascript
用js屏蔽被http劫持的浮动广告实现方法
2017/08/10 Javascript
layui实现动态和静态分页
2018/04/28 Javascript
微信小程序实现购物页面左右联动
2019/02/15 Javascript
微信小程序上传多图到服务器并获取返回的路径
2019/05/05 Javascript
vue父组件触发事件改变子组件的值的方法实例详解
2019/05/07 Javascript
解决LayUI数据表格复选框不居中显示的问题
2019/09/25 Javascript
微信小程序实现转盘抽奖
2020/09/21 Javascript
Vant+postcss-pxtorem 实现浏览器适配功能
2021/02/05 Javascript
[02:02]2018DOTA2亚洲邀请赛Mineski赛前采访
2018/04/04 DOTA
深入讲解Python编程中的字符串
2015/10/14 Python
python3连接MySQL数据库实例详解
2018/05/24 Python
基于Python2、Python3中reload()的不同用法介绍
2019/08/12 Python
Python plt 利用subplot 实现在一张画布同时画多张图
2021/02/26 Python
历史教育专业个人求职信
2013/12/13 职场文书
甜品店的创业计划书范文
2014/01/02 职场文书
解除合同协议书
2014/04/17 职场文书
2016学校元旦晚会经典开场白台词
2015/12/03 职场文书