python3 装饰器

博客主要介绍了Python装饰器的相关内容,给出了定义装饰器的代码示例,包括可能带参数的装饰器,展示了如何用装饰器修改函数调用前后的行为,还给出了给函数添加装饰器以及带参数装饰器的使用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

def myDecorator(...):    #定义装饰器,可能带参数
  def decorator(func): #装饰器核心,以被装饰的函数对象为参数,返回装饰后的函数对象
    def wrapper(*args, **kvargs): #装饰的过程,参数列表适应不同参数的函数
      ... #修改函数调用前的行为
      func(*args, **kvargs) #调用函数
      ... #修改函数调用后的行为
    return wrapper
   return decorator

@myDecorator(...):    #给函数加上装饰器
def myFunc(...):     #自己定义的功能函数
...

def setTag(tag): #由于此装饰器需要参数,所以要再套一层
  def myDecorator(func): #装饰器的核心,接受函数对象做参数,返回包装后的函数对象
    def myWrapper(*arg, **kvargs): #包装的具体过程
      sign = "<" + tag + ">"
      return sign + func(*arg, **kvargs) + sign
     return myWrapper
    return myDecorator

@setTag("div") #用@标签在定义函数时套上装饰器
def hello(name):
  return 'hello' + name

转载于:https://www.cnblogs.com/sgwjj/p/9561071.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值