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科学计算环境推荐——Anaconda
Jun 30 Python
探究数组排序提升Python程序的循环的运行效率的原因
Apr 01 Python
Python 获取当前所在目录的方法详解
Aug 02 Python
Tornado Web Server框架编写简易Python服务器
Jul 28 Python
python 地图经纬度转换、纠偏的实例代码
Aug 06 Python
python 监听salt job状态,并任务数据推送到redis中的方法
Jan 14 Python
PyQt5重写QComboBox的鼠标点击事件方法
Jun 25 Python
python实现飞机大战项目
Mar 11 Python
解决python调用自己文件函数/执行函数找不到包问题
Jun 01 Python
Python 通过正则表达式快速获取电影的下载地址
Aug 17 Python
用 python 进行微信好友信息分析
Nov 28 Python
Python利用folium实现地图可视化
May 23 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获得用户使用的代理服务器ip即真实ip
2006/12/31 PHP
20个PHP常用类库小结
2011/09/11 PHP
php实现的返回数据格式化类实例
2014/09/22 PHP
smarty中js的调用方法示例
2014/10/27 PHP
php强制运行广告的方法
2014/12/01 PHP
PHP实现在线阅读PDF文件的方法
2015/06/17 PHP
PHP中常见的缓存技术实例分析
2015/09/23 PHP
基于PHP给大家讲解防刷票的一些技巧
2015/11/18 PHP
PHP ajax+jQuery 实现批量删除功能实例代码小结
2018/12/06 PHP
php日志函数error_log用法实例分析
2019/09/23 PHP
JavaScript的parseInt 取整使用
2011/05/09 Javascript
Javascript模仿淘宝信用评价实例(附源码)
2015/11/26 Javascript
浅析Javascript ES6中的原生Promise
2016/08/25 Javascript
web 屏蔽BackSpace键实例代码
2016/12/24 Javascript
JS实现中英文混合文字溢出友好截取功能
2018/08/06 Javascript
JavaScript中Array方法你该知道的正确打开方法
2018/09/11 Javascript
JS使用Chrome浏览器实现调试线上代码
2020/07/23 Javascript
python实现udp数据报传输的方法
2014/09/26 Python
python通过zlib实现压缩与解压字符串的方法
2014/11/19 Python
python实现井字棋游戏
2020/03/30 Python
Python爬取qq music中的音乐url及批量下载
2017/03/23 Python
Python遍历文件夹和读写文件的实现方法
2017/05/10 Python
Ubuntu下Python+Flask分分钟搭建自己的服务器教程
2019/11/19 Python
浅谈pytorch torch.backends.cudnn设置作用
2020/02/20 Python
解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程
2020/03/10 Python
matplotlib subplot绘制多个子图的方法示例
2020/07/28 Python
艺术应用与设计专业个人的自我评价
2013/11/19 职场文书
环保公益广告语
2014/03/13 职场文书
工作会议方案
2014/05/21 职场文书
销售行政专员岗位职责
2014/06/10 职场文书
乡镇群众路线教育实践活动整改措施
2014/10/04 职场文书
晋江市委常委班子四风问题整改工作方案
2014/10/26 职场文书
商业门面租房协议书
2014/11/25 职场文书
幼儿园推普周活动总结
2015/05/07 职场文书
合同范本之电脑出租
2019/08/13 职场文书
SQL Server #{}可以防止SQL注入
2022/05/11 SQL Server