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之Python安装
Sep 12 Python
为Python程序添加图形化界面的教程
Apr 29 Python
Python中实现三目运算的方法
Jun 21 Python
Python抓取框架 Scrapy的架构
Aug 12 Python
深入浅出分析Python装饰器用法
Jul 28 Python
Python实现Dijkstra算法
Oct 17 Python
python对html过滤处理的方法
Oct 21 Python
python+ffmpeg批量去视频开头的方法
Jan 09 Python
python使用pip安装SciPy、SymPy、matplotlib教程
Nov 20 Python
将自己的数据集制作成TFRecord格式教程
Feb 17 Python
python读取文件指定行内容实例讲解
Mar 02 Python
在 Pycharm 安装使用black的方法详解
Apr 02 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字符串函数的总结分析
2013/06/05 PHP
PHP可变函数的使用详解
2013/06/14 PHP
PHP性能分析工具XHProf安装使用教程
2015/05/13 PHP
php自定义截取中文字符串-utf8版
2017/02/27 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
2018/03/30 PHP
JavaScript基本概念初级讲解论坛贴的学习记录
2009/02/22 Javascript
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
限制textbox或textarea输入字符长度的JS代码
2013/10/16 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
2014/04/02 Javascript
jQuery实现区域打印功能代码详解
2016/06/17 Javascript
bootstrap读书笔记之CSS组件(上)
2016/10/17 Javascript
AngularJS的脏检查深入分析
2017/04/22 Javascript
微信小程序实现tab和swiper切换结合效果
2020/07/17 Javascript
详解react-redux插件入门
2018/04/19 Javascript
Vue不能检测到Object/Array更新的情况的解决
2018/06/26 Javascript
JS实现秒杀倒计时特效
2020/01/02 Javascript
Vuejs通过拖动改变元素宽度实现自适应
2020/09/02 Javascript
python机器学习理论与实战(五)支持向量机
2018/01/19 Python
python字符串string的内置方法实例详解
2018/05/14 Python
python读取文件名并改名字的实例
2019/01/07 Python
python 实现视频流下载保存MP4的方法
2019/01/09 Python
python 获取微信好友列表的方法(微信web)
2019/02/21 Python
Python Excel处理库openpyxl使用详解
2019/05/09 Python
Django框架HttpResponse对象用法实例分析
2019/11/01 Python
基于Python实现扑克牌面试题
2019/12/11 Python
Python发送手机动态验证码代码实例
2020/02/28 Python
利用Vscode进行Python开发环境配置的步骤
2020/06/22 Python
艺术用品:Arteza
2018/11/25 全球购物
党的作风建设心得体会
2014/10/22 职场文书
解除同居协议书
2015/01/29 职场文书
展览会邀请函
2015/02/02 职场文书
会议通知范文
2015/04/15 职场文书
单位同意报考证明
2015/06/17 职场文书
2019年国庆祝福语(70句)
2019/09/19 职场文书
python 利用 PIL 将数组值转成图片的实现
2021/04/12 Python
Win11软件图标固定到任务栏
2022/04/19 数码科技