⏱️ Как замерить время выполнения в Python и оценить эффективность кода?
import timeit
# Функция, время выполнения которой нужно засечь
def my_function():
# код функции
# Засекаем время выполнения функции
start_time = timeit.default_timer()
my_function()
end_time = timeit.default_timer()
# Время выполнения функции в секундах
execution_time = end_time - start_time
print(f"Время выполнения: {execution_time} секунд")
В этом примере мы импортируем модуль timeit и создаем функцию my_function, время выполнения которой мы хотим засечь. Затем мы используем функцию default_timer() из модуля timeit для засечения начала и конца выполнения функции. Разница между начальным и конечным временем даст нам время выполнения функции в секундах.
Не забудьте вставить свой код вместо комментария "код функции". Успехов в изучении Python!
Детальный ответ
Как в питоне засечь время выполнения
Часто при разработке программ можно столкнуться с необходимостью замерить время выполнения определенного участка кода. В Python существует несколько способов засечь время выполнения, и далее я расскажу о некоторых из них.
Модуль time
Один из самых простых способов засечь время выполнения в Python - использовать модуль time
. Для этого можно сохранить текущее время до и после выполнения кода и вычислить разницу.
import time
start_time = time.time()
# Ваш код
end_time = time.time()
execution_time = end_time - start_time
print(f"Время выполнения: {execution_time} секунд")
В данном примере мы используем функцию time.time()
для получения текущего времени в секундах. Затем мы сохраняем время до выполнения кода в переменную start_time
и время после выполнения кода в переменную end_time
. Разницу между ними мы сохраняем в переменную execution_time
и выводим результат.
Модуль timeit
Еще один удобный способ замерить время выполнения в Python - использовать модуль timeit
. Этот модуль предоставляет удобные функции для точного измерения времени выполнения кода.
import timeit
def my_function():
# Ваш код
execution_time = timeit.timeit(my_function, number=1)
print(f"Время выполнения: {execution_time} секунд")
В данном примере мы определяем функцию my_function
, в которой содержится код, время выполнения которого мы хотим измерить. Затем мы используем функцию timeit.timeit()
, передавая в нее нашу функцию в качестве аргумента и указывая параметр number=1
, чтобы измерить время выполнения только одного вызова функции.
Декораторы
Еще один полезный способ замерить время выполнения кода - использовать декораторы. Декораторы позволяют добавить дополнительное поведение к функции без изменения ее исходного кода.
import time
def measure_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} секунд")
return result
return wrapper
@measure_time
def my_function():
# Ваш код
my_function()
В данном примере мы определяем декоратор measure_time
, который замеряет время выполнения функции, к которой он применяется. Внутри декоратора мы сохраняем время до выполнения функции, выполняем саму функцию и затем сохраняем время после выполнения. Разницу между временами мы выводим на экран и возвращаем результат.