网络编程
位置:首页>> 网络编程>> Python编程>> Python装饰器语法糖

Python装饰器语法糖

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

标签:python,装饰器,语法糖

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

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com