def counter(func):
? ? """
? ? A decorator that counts and prints the number of times a function has been executed
? ? """
? ? def wrapper(*args, **kwargs):
? ? ? ? wrapper.count = wrapper.count + 1
? ? ? ? res = func(*args, **kwargs)
? ? ? ? print "{0} has been used: {1}x".format(func.__name__, wrapper.count)
? ? ? ? return res
? ? wrapper.count = 0
? ? return wrapper
函數(shù)是對(duì)象所以可以為他添加屬性榜聂,利用這個(gè)屬性來(lái)記錄次數(shù)