增强版
import time
from datetime import datetime
from functools import wraps
def timethis(func):
'''
Decorator that reports the execution time
:param func:
:return:
'''
@wraps(func)
def wrapper(*args, **kwargs):
start = time.time()
s1 = datetime.now()
result = func(*args, **kwargs)
end = time.time()
s2 = datetime.now()
func_name = func.__name__
consume = end - start
consume2 = s2 - s1
print(f'{func_name} consume time is ---> {consume}')
print(f'{func_name} consume minutes is ---> {consume2}')
return result
return wrapper
import time
from functools import wraps
def timethis(func):
'''
Decorator that reports the execution time
:param func:
:return:
'''
@wraps(func)
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
end = time.time()
func_name = func.__name__
consume = end - start
print(f'{func_name} consume time is ---> {consume}')
return result
return wrapper
@timethis
def countdown(n):
while n > 0:
n -= 1
countdown(20000000)