python装饰器怎么写

什么是装饰器

简单说python装饰器就是修改其他函数的功能的函数。更多参考

举个简单栗子

例如,如下函数

def say(something):
    print ("say {}!".format(something))

现在想调用say函数之前打印一下函数名字,可这样实现

#打印函数名字
print(say.__name__)
#调用函数
say('demo')

这个方法实现可以,弊端也很明显:每次调用不同函数,打印函数就得写一行新代码。
看看装饰器怎么做的。

import functools
def logging(func):
    @functools.wraps(func)
    def wrapper(*args,**kwargs):
        print('{}'.format(func.__name__))
        return func(*args,**kwargs)
    return wrapper

使用装饰器,在定义函数前加上语法糖接装饰器名称即可:

@logging
def say(something):
    print ("say {}!".format(something))

装饰器应用

应用还是很广泛的,不乏以下应用:
1、打印日志
2、内存处理
3、路由处理
4、连接数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

$团长$

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值