Рубрики
Без рубрики

Ускорить код Python

Python – один из самых популярных языков программирования по всему миру. Для его, простой синтаксис … помеченный Python, производительность.

Python – один из самых популярных языков программирования по всему миру. Для его, простого синтаксиса и богатой библиотеки он также используется в конкурентном программировании. Большинство из нас, вероятно, начали кодировать с Python. Сначала все идет просто и легко. Но при решении жестких алгоритмических проблем большинство из нас страдают от Превышен лимит по времени Отказ Однако это не проблема Python; Большинство случаев, проблема с программистом. Я не говорю, что Python не медленно, но если программист пишет эффективную программу, она получит Принято точно. Вот несколько советов, чтобы ускорить свою программу Python.

Используйте правильные структуры данных

Использование правильной структуры данных оказывает значительное влияние на время выполнения. Python имеет список, кортеж, набор и словарь в виде встроенных структур данных. Однако большинство людей используют список во всех случаях. Но это не правильный выбор. Используйте правильные структуры данных в зависимости от вашей задачи. Особенно используйте кортеж вместо списка. Потому что итерация по кортежу проще, чем итерация по списку.

Уменьшить использование для петли

Что касается цикла динамика в Python, требуется больше времени, чем во время цикла. Так, Используйте во время петли, а не для петли.

Используйте список пониманий

Не используйте никакой другой техники, если вы можете использовать понимание списка. Например, вот код для перечисления всех чисел от 1 до 1000, который является множителем 3:

L = []
for i in range (1, 1000):
    if i%3 == 0:
        L.append (i)

Использование понимания списка, это было бы:

L = [i for i in range (1, 1000) if i%3 == 0]

Понимание списка работает быстрее, чем использование метода Append.

Используйте несколько заданий

Не назначайте переменные, подобные это:

a = 2
b = 3
c = 5
d = 7

Вместо этого назначьте переменные, такие как это:

a, b, c, d = 2, 3, 5, 7

Не используйте глобальные переменные

Python имеет глобальный Ключевое слово для объявления глобальных переменных. Но глобальные переменные принимают больше времени во время работы, чем локальная переменная. Итак, не используйте глобальные переменные, если это не нужно.

Используйте библиотечные функции

Не пишите свою функцию (вручную), если она уже в библиотеке. Функции библиотеки очень эффективны, и вы, вероятно, не сможете кодировать с этой эффективностью.

Согласующие строки с присоединением в Python вы можете объединить строки с помощью + операции.

concatenatedString = "Programming " + "is " + "fun."

Это также может быть сделано с Присоединяйтесь () метод.

concatenatedString = " ".join (["Programming", "is", "fun."])

Присоединяйтесь () объединяет строки быстрее, чем + операция, потому что + Операторы создают новую строку, а затем копируют старый контент на каждом шаге. Но Присоединяйтесь () не работает таким образом.

Используйте генераторы

Если у вас есть большая сумма данных в вашем списке, и вам нужно использовать одну данные одновременно и для этого, а затем использовать генератор с. Это сэкономит ваше время.

Избегать точек операции как можно больше

Старайтесь избегать операции dot. Смотрите следующую программу.

import math
val = math.sqrt(60)

Вместо вышеуказанного стиля написать код, как это:

from math import sqrt
val = sqrt(60)

Потому что, когда вы вызываете функцию, используя Отказ (точка) это первые звонки __getattribute () __ или __getattr () __ который затем используют операцию словаря, которая стоит время. Итак, попробуйте использовать От функции импорта модуля Отказ

Используйте 1 для петлей Infinity

Использовать в то время как 1 вместо Пока правда Отказ Это уменьшит некоторое время выполнения.

Думать за пределами коробки

Попробуйте новые способы для эффективного написания кода. Смотрите код ниже.

if a_condition:
    if another_condition:
        do_something
else:
    raise exception

Вместо вышеуказанного кода вы можете написать:

if (not a_condition) or (not another_condition):
    raise exception
do_something

Используйте ускорение приложений

Для медленной скорости Python некоторые проекты были предприняты для уменьшения времени выполнения. Pypy и Numba два из них. В большинстве конкурсов программирования вы увидите Pypy, если он позволяет Python. Эти приложения уменьшит время выполнения вашей программы.

Используйте специальные библиотеки для обработки больших наборов данных

C/C ++ быстрее, чем Python. Таким образом, многие пакеты и модули были написаны в C/C ++, которые вы можете использовать в вашей программе Python. Numpy , Scipy и Пандас Трех из них и популярны для обработки больших наборов данных.

Используйте последний выпуск Python

Python обновляется и регулярно обновляется, и каждый выпуск будет быстрее и оптимизирован. Так что всегда используйте последнюю версию Python.

Это были некоторые советы по сокращению времени выполнения кода Python. Есть несколько более техники, которые вы можете использовать. Используйте поисковую систему, чтобы найти те и писать эффективный код!

Оригинал: “https://dev.to/tahmid02016/speed-up-python-code-50fk”