python中的装饰器

博客主要提及了普通装饰器和通用装饰器相关内容,聚焦于信息技术领域中装饰器这一技术点。

普通装饰器

def outer(fn):
    def inner(name):
        print("大家好!!!!")
        fn(name)
        print("谢谢大家!!!")

    return inner


# 使用注释来表示该函数被outer装饰
@outer
def say(name):
    print("我是", name)
    print("我喜欢跳广场舞")


say("帅锅")

通用装饰器

# 和普通装饰器的区别在于
# 通用装饰器可以用来装饰任何函数,参数没有固定

def outer(fn):
    def inner(*args,**kwargs):
        print("这是通用装饰器!!!")
#此处必须使用*args,**kwargs,如果直接输出args会输出一个元组,加上*号
#后等于是将元组散开变成一个个的参数然后传递给下面需要被装饰的函数func(a,b,c)
        fn(*args,**kwargs)
        print("装饰结束!!!")
    return inner

@outer
def func(a,b,c):
    print("a=",a,"b=",b,"c=",c)
func(1,2,3)

#输出为
#这是通用装饰器!!!
#a=1 b=2 c=3
#装饰结束!!!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值