Чтобы создать функцию-оболочку, вычисляющую время выполнения функции в Python, вы можете использовать несколько методов. Вот несколько примеров:
Метод 1. Использование модуля времени
import time
def calculate_execution_time(func):
def wrapper(*args, kwargs):
start_time = time.time()
result = func(*args, kwargs)
end_time = time.time()
execution_time = end_time - start_time
print(f"Execution time: {execution_time} seconds")
return result
return wrapper
Метод 2. Использование модуля timeit
import timeit
def calculate_execution_time(func):
def wrapper(*args, kwargs):
start_time = timeit.default_timer()
result = func(*args, kwargs)
end_time = timeit.default_timer()
execution_time = end_time - start_time
print(f"Execution time: {execution_time} seconds")
return result
return wrapper
Метод 3. Использование модуля datetime
import datetime
def calculate_execution_time(func):
def wrapper(*args, kwargs):
start_time = datetime.datetime.now()
result = func(*args, kwargs)
end_time = datetime.datetime.now()
execution_time = end_time - start_time
print(f"Execution time: {execution_time.total_seconds()} seconds")
return result
return wrapper
В этих примерах используются разные модули для измерения времени выполнения функции. Каждый метод создает функцию-оболочку, которая вычисляет время до и после выполнения целевой функции и печатает продолжительность.