Python 修饰函数 简单讲解

下面有一个带参数的修饰函数例子 

def addition(loge):
   print(f"输出修饰器标记:{loge}")
   def tes1(func):   
      print(f"方法{func}加载完毕")
      def test(a,b):
         print("准备进行func的执行")
         func(a,b)
         print("func执行完成")
      return test 
   return tes1

@addition("这里是修饰器addition")
def test(a,b):
   print("func正在执行")
   print(f"{a}+{b}={a+b}")

addtest = test(12,57)

在test上加一个@addition("这里是修饰器addition")然后执行test = test(12,57),可以看作是以下操作的简化

#test函数不再带有@addition("这里是修饰器addition")的情况

a = addition("这里是修饰器addition")
b = a(test)
addtest = b(12,57)

@addition就是,将被修饰的函数(这里是test)传入嵌套函数addition中进行一下包装,而嵌套函数中的fun代表着将要被传入其中被处理的函数。 至于嵌套函数是什么,请看这里

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值