python 装饰器 (个人随笔)

装饰器的基本实现:

def kuozhan(func):

  def newruixin():

    #扩展功能:
    print('如果我说如果‘)

    #调用基本函数

    func

    print('没有如果‘)

  #增加返回值

  return newruixin

 

#基本函数

@kuozhan   #ruixin = kuozhan(ruixin)  扩展之后的函数要重新赋值给基本函数,

def ruixin():
  print('很难实现‘)

 

#调用基本函数

ruixin()

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

# 和带有返回值的装饰器

def kuozhann(func):

  def newruixin():
    print('如果没有如果')

    result=func()

    print('哈哈哈哈哈‘)

    return result

  return newruixin

@kuozhan

def ruixin():

  print('一定没有如果‘)

  return '嘿嘿嘿嘿‘

ruixin()

 

---------------------------------------------------------------------------------------------------------------------------------------------

 

#带有参数的装饰器

def  outer(arg):

  def kuozhan(func):

    def newruixin():

      print('111111111')

      func()

      print('22222222')

 

    def newfanbo():

      print('aaaaaaaaaaa')

      func()

      print('bbbbbbbb')

    if arg =='ruixin':

      return newruixin

    elif arg =='fanbo'

      return newfanbo

  return kuozhan

 

@outer('ruixin')

def ruixin():

  print('111222')

@outer('fanbo')

  print('asasasa')

 

fanbo()

ruixin()

 

 

 

  

转载于:https://www.cnblogs.com/hao-jiang-tao/p/7865646.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值