Python装饰器语法糖

2019/7/14 23:46:55

本文主要是介绍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)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对找一找教程网的支持。如果你想了解更多相关内容请查看下面相关链接



这篇关于Python装饰器语法糖的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程