Python装饰器语法糖

作者:27Up 时间:2022-07-10 15:11:34 

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)

来源:https://blog.csdn.net/lcl497049972/article/details/85559550

标签:python,装饰器,语法糖
0
投稿

猜你喜欢

  • JS实现运动缓冲效果的封装函数示例

    2023-06-30 14:34:45
  • Python实现基于SVM的分类器的方法

    2023-11-18 18:20:02
  • 什么是Ajax及Ajax的优势

    2007-09-07 09:56:00
  • Python创建简单的神经网络实例讲解

    2021-12-02 05:38:41
  • python基础教程之udp端口扫描

    2022-01-10 01:03:22
  • textarea的输入限制统计代码statInput

    2008-05-22 13:36:00
  • PyQt5组件读取参数的实例

    2023-04-02 07:47:29
  • python-pandas创建Series数据类型的操作

    2022-01-29 14:16:24
  • 跟老齐学Python之list和str比较

    2021-02-26 22:36:36
  • python实现百度文库自动化爬取

    2023-02-01 23:57:22
  • 详解python实现多张多格式图片转PDF并打包成exe

    2022-06-16 15:43:38
  • 如何编写python的daemon程序

    2023-07-27 05:13:28
  • 基于python实现文件加密功能

    2022-02-02 20:28:57
  • python如何将图片生成视频MP4

    2023-10-19 09:25:37
  • 判断sql语句执行是否成功

    2008-07-05 12:22:00
  • Tensorflow加载与预处理数据详解实现方法

    2023-01-29 02:57:09
  • Python流程控制 while循环实现解析

    2023-02-07 04:16:33
  • python爬取豆瓣电影排行榜(requests)的示例代码

    2022-10-16 02:18:46
  • python单例模式获取IP代理的方法详解

    2023-11-14 22:22:05
  • Python如何批量获取文件夹的大小并保存

    2023-10-10 19:49:37
  • asp之家 网络编程 m.aspxhome.com