我爱编程

装饰器(二):记录程序运行次数

2018-04-15  本文已影响21人  圣_狒司机

构造count装饰器,其中要点:

import logging
counte= 0

def count(f):
    def wrapper(*args,**kwargs):
        global counte
        counte += 1
        result = f(*args,**kwargs)
        logging.warning("%s processed %s times!"%(f.__name__,counte))
        return result
    return wrapper 

@count
def hello(s):
    print(s)

hello("well")
hello("Hello!")
hello("Word!")

运行带count装饰器的函数,末尾自带函数运行次数,可以用logging的等级控制次数输出还是不输出。
显示结果为:

well
WARNING:root:hello processed 1 times!
Hello!
WARNING:root:hello processed 2 times!
Word!
WARNING:root:hello processed 3 times!
上一篇 下一篇

猜你喜欢

热点阅读