Los 10 mejores y útiles consejos para acelerar su código Python

Si alguien te pregunta: “¿Cuál es el en el mundo en este momento?” la respuesta será simple. Es python. La popularidad mundial se debe a su sintaxis simple y sus ricas bibliotecas. Hoy en día, puede hacer casi cualquier cosa con Python: ciencia de datos, aprendizaje automático, procesamiento de señales, visualización de datos, lo que sea. Sin embargo, muchas personas afirman que Python es un poco lento al resolver problemas graves. Pero el tiempo para ejecutar un programa depende del código que se escribe. Con algunos consejos y trucos, se puede acelerar el código Python y mejorar el rendimiento del programa.

Consejos y trucos para acelerar el código Python

tips_and_tricks_to_speedup_python_codeEn caso de que esté buscando formas de acelerar su código Python, el artículo es para usted. Ilustra las técnicas y estrategias para reducir el tiempo de ejecución de un programa. Los consejos no solo acelerarán el código, sino que también mejorarán las .

01. Utilice bibliotecas y funciones integradas

Python tiene toneladas de de . Están escritos por desarrolladores expertos y han sido probados varias veces. Por lo tanto, estas funciones son muy eficientes y ayudan a acelerar el código; no es necesario escribir el código si la función ya está disponible en la biblioteca. Tomamos un ejemplo sencillo al respecto.

#code1
newlist = []
for word in oldlist:
    newlist.append(word.upper())
#code2
newlist = map(str.upper, oldlist)

Aquí el segundo código es más rápido que el primer código porque se ha utilizado la función de biblioteca map (). Estas funciones son útiles para principiantes. ¿Quién no quiere escribir un código más rápido, limpio y más pequeño? Por lo tanto, utilice las funciones y los módulos de la biblioteca tanto como sea posible.

02. Estructura de datos correcta en el lugar correcto

estructura_de_datos_y_algoritmoEl uso de la estructura de datos adecuada reducirá el tiempo de ejecución. Antes de comenzar, debe pensar en la estructura de datos que se utilizará en el código. Una estructura de datos perfecta acelerará el código de Python mientras que otros lo estropearán. Debe tener una idea de la complejidad temporal de las diferentes estructuras de datos.

Python tiene estructuras de datos integradas como lista, tupla, conjunto y diccionario. La gente está habituada a utilizar listas. Pero hay algunos casos en los que la tupla o el diccionario funcionan mucho mejor que las listas. Para aprender más estructuras de datos y algoritmos, debe consultar .

03. Intente minimizar el uso del for bucle

Es bastante difícil evitar el uso de for loop. Pero siempre que tienes la oportunidad de prevenirlo, los expertos dicen que lo haces. El bucle for es dinámico en Python. Su tiempo de ejecución es más que un bucle while. El bucle for anidado requiere mucho más tiempo. Dos bucles for anidados tomarán el cuadrado del tiempo en un solo bucle for.

#code1
for i in big_it:
    m = re.search(r'\d{2}-\d{2}-\d{4}', i)
    if m:
        ...
#code2
date_regex = re.compile(r'\d{2}-\d{2}-\d{4}')

for i in big_it:
    m = date_regex.search(i)
    if m:
        ...

Es mejor usar un reemplazo adecuado en este caso. Además, si los forbucles son inevitables, mueva el cálculo fuera del bucle. Ahorrará mucho tiempo. Lo podemos ver en el ejemplo dado arriba. Aquí, el segundo código es más rápido que el primer código, ya que el cálculo se ha realizado fuera del ciclo.

04. Evite las variables globales

Evitar_variables_global: acelerar el código PythonLas variables globales se utilizan en Python en muchos casos. La palabra clave global se utiliza para declararlo. Pero el tiempo de ejecución de estas variables es mayor que el de la variable local. El uso de menos de ellos evita el uso innecesario de memoria. Además, Python recoge una variable local más rápidamente que una global. Al navegar por variables externas, Python es realmente lento.

Varios otros lenguajes de programación se oponen al uso no planificado de variables globales. El contador se debe a los efectos secundarios que conducen a un mayor tiempo de ejecución. Por lo tanto, intente usar una variable local en lugar de una global siempre que sea posible. Además, puede hacer una copia local antes de usarla en un bucle, lo que ahorra tiempo.

05. Incrementar el uso de la comprensión de listas

La comprensión de listas ofrece una sintaxis más corta. Es un puñado cuando se crea una nueva lista basada en una lista existente. Loop es imprescindible en cualquier código. A veces, la sintaxis dentro del bucle se vuelve grande. En ese caso, se puede utilizar la comprensión de listas. Podemos tomar el ejemplo para entenderlo con mayor precisión.

#code1
square_numbers = []
  for n in range(0,20):
    if n % 2 == 1:
      square_numbers.append(n**2)
#code2
square_numbers = [n**2 for n in range(1,20) if n%2 == 1]

Aquí, el segundo código lleva menos tiempo que el primer código. El enfoque para la comprensión de listas es más corto y más preciso. Puede que no haga mucha diferencia en los códigos pequeños. Pero en un desarrollo extenso, puede ahorrarle algo de tiempo. Por lo tanto, use la comprensión de listas siempre que tenga la oportunidad de acelerar su código Python.

06. Reemplace range () con xrange ()

Reemplazar range () con xrange ()El asunto de range () y xrange () viene si está usando Python 2. Estas funciones se usan para iterar cualquier cosa en el bucle for. En el caso de range (), guarda todos los números del rango en la memoria. Pero xrange () solo guarda el rango de números que deben mostrarse.

El tipo de retorno de range () es una lista y el de xrange () es un objeto. Eventualmente, xrange () toma menos memoria y, como resultado, menos tiempo. Por lo tanto, use xrange () en lugar de range () siempre que sea posible. Por supuesto, esto solo se aplica a los usuarios de Python 2.

07. Utilice generadores

En Python, un generador es una función que devuelve un iterador cuando se llama a la palabra clave yield. Los generadores son un excelente optimizador de memoria. Devuelven un artículo a la vez en lugar de devolver todos a la vez. Si su lista incluye una cantidad considerable de datos y necesita usar un dato a la vez, use generadores.

Los generadores calculan datos en pedazos. Por lo tanto, la función puede devolver el resultado cuando se la invoca y conservar su estado. Los generadores conservan el estado de la función al detener el código después de que la persona que llama genera el valor, y continúa ejecutándose desde donde se dejó a pedido.

Dado que los generadores acceden y calculan el valor bajo demanda, no es necesario guardar una parte significativa de los datos por completo en la memoria. Da como resultado un ahorro considerable de memoria, lo que finalmente acelera el código.

08. Concatenar cadenas con unión

La concatenación es bastante común cuando se trabaja con cadenas. Generalmente, en Python, concatenamos usando ‘+’. Sin embargo, en cada paso, la operación “+” crea una nueva cadena y copia el material anterior. Este proceso es ineficaz y lleva mucho tiempo. Tenemos que usar join () para concatenar cadenas aquí si queremos acelerar nuestro código Python.

#code1
x = "I" + "am" + "a" + "python" + "geek" 
print(x)
#code2
x = " ".join(["I", "am", "a", "python", "geek"])
print(x)

Si miramos el ejemplo, el primer código imprime “Iamapythongeek” y el segundo código imprime “Soy un geek de Python”. La operación join () es más eficiente y rápida que ‘+’. También mantiene limpio el código. ¿Quién no quiere un código más rápido y limpio? Entonces, intente usar join () en lugar de ‘+’ para concatenar cadenas.

09. Perfile su código

Perfil de su códigoLa creación de perfiles es una forma clásica de optimizar el código. Hay muchos módulos para medir las estadísticas de un programa. Estos nos hacen saber dónde está gastando demasiado tiempo el programa y qué hacer para optimizarlo. Por lo tanto, para garantizar la optimización, realice algunas pruebas y mejore el programa para mejorar la efectividad.

El temporizador es uno de los perfiladores. Puede usarlo en cualquier parte del código y encontrar el tiempo de ejecución de cada etapa. Entonces podemos mejorar el programa donde se demore demasiado. Además, hay un módulo perfilador incorporado llamado LineProfiler. También da un informe descriptivo sobre el tiempo consumido. Hay varios perfiladores que puede aprender .

10. Manténgase actualizado: utilice la última versión de Python

Hay miles de desarrolladores que agregan más funciones a Python con regularidad. Los módulos y las funciones de la biblioteca que estamos utilizando hoy estarán obsoletos por los desarrollos de mañana. Los desarrolladores de Python están haciendo que el lenguaje sea más rápido y confiable día a día. Cada nueva versión ha aumentado su rendimiento.

Entonces, necesitamos actualizar las bibliotecas a su última versión. Python 3.9 es la última versión ahora. Es posible que muchas bibliotecas de python 2 no se ejecuten en python3. Tengamos eso en cuenta y usemos siempre la última versión para obtener el máximo rendimiento.

Finalmente, Insights

El valor de los de en el mundo aumenta día a día. ¡Entonces, Qué esperas! Ya es hora de que empieces a aprender a acelerar el código Python. Los consejos y trucos que proporcionamos seguramente lo ayudarán a escribir códigos eficientes. Si los sigue, podemos esperar que pueda mejorar su código y entrar en cosas más avanzadas de Python.

Hemos intentado mostrar todos los trucos y consejos importantes que se requieren para acelerar el código. Esperamos que el artículo haya respondido a la mayoría de sus preguntas. Ahora, el resto está sobre ti. Sin embargo, el conocimiento no tiene fin ni el aprendizaje. Entonces, si nos hemos perdido algo importante, avísenos. ¡Feliz aprendizaje!

Leave a Comment

Your email address will not be published. Required fields are marked *