Python 装饰器warper

参考:
https://www.youtube.com/watch?v=5VCywjS8YEA
https://foofish.net/python-decorator.html

装饰器
Python 中的函数可以像普通变量一样当做参数传递给另外一个函数
我们使用装饰器的目的是为了给函数穿条裤子一样
装饰器

def bar(func):
    def inner():
        print('In bar:Before')
        func()
        print('In bar:End')
    return  inner

def baz(func):
    def inner():
        print('In baz:Before')
        func()
        print('In baz:End')
    return  inner
@bar
@baz
def foo():
    print('Foo!')

foo()

应用一、计时器

# 用处计时器

import time

def timeit(func):
    def inner(*args):
        s=time.time()
        func(*args)
        e=time.time()
        # f-string 格式化字符串常量
        # 在Python3.6以后建议使用f-string替代format
        # f'{} {}' {}内值被替代为运行时运算求值的表达式
        print(f'{func.__name__} finished in {e-s} secs.')
    return inner

@timeit
def slow_method(a,b):
    time.sleep(2)
    print(f'{a}+{b}={a+b}')
    print('Done!')

slow_method(1,2)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值