Я предложу немного другой подход:
import time
def timestampit(func):
def decorate(*args, **kwargs):
decorate.timestamp = time.time()
return func(*args, **kwargs)
return decorate
@timestampit
def hello():
print 'hello'
hello()
print hello.timestamp
time.sleep(1)
hello()
print hello.timestamp
Отличия от примера Swaroop:
- Я использую time.time (), а не datetime.now () для отметки времени, потому что она больше подходит для тестирования производительности
- Я прикрепляю метку времени как атрибут украшенной функции. Таким образом, вы можете вызывать и хранить его в любое время.