Saltar a contenido

Repitiendo a la "Pythonic Way"

En Python, existe una forma de programar que se conoce como "Pythonic way" o "Pythonic style"1. Esta forma de programar se basa en las convenciones y prácticas comunes en la comunidad Python.

Para mostrar las capacidades únicas de Python, consideremos una técnica más avanzada.

El operador de repetición *

Si queremos saludar 5 veces, podemos usar una sintaxis sorprendente:

Python
print("Hola\n" * 5, end="")     # ¡Este código es genial!

Este código imprimirá "Hola" 5 veces, cada una de las palabras en una línea separada.

¿Qué está pasando aquí? ¡Analicemos este código y luego haz clic aquí para leer mi explicación!
  • print("Hola\n" * 5) es una expresión que multiplica la cadena "Hola\n" por 5 utilizando el operador de repetición *, lo que resulta en su repetición. De modo que, literalmente, puedes imprimir lo que quieras, multiplicarlo por la cantidad de veces que lo quieras y obtendrás exactamente ese resultado.

  • \n es un carácter de escape que representa un salto de línea. Al multiplicar "Hola\n" por 5, obtenemos "Hola\nHola\nHola\nHola\nHola\n", que imprime "Hola" en 5 líneas separadas.

  • end="" es un parámetro de la función print() que indica que no se debe agregar un salto de línea adicional al final. Esto evita que se imprima una línea en blanco después de los saludos.

  • Al combinar estas características, podemos imprimir "Hola" 5 veces, cada uno en una línea separada, en una sola línea de código.

Esta técnica es poderosa y demuestra la flexibilidad y expresividad de Python. Sin embargo, es importante recordar que la legibilidad del código es crucial. Aunque esta técnica es concisa, puede ser menos clara que las versiones anteriores con bucles for o while, por lo que no se recomienda cambiar una estructura repetitiva por esta técnica a menos que sea muy necesario.

¡Buena práctica!

La claridad del código es fundamental, especialmente si otros (o tú mismo en el futuro) necesitan entenderlo.

Aunque esta característica de Python es poderosa, no siempre es la mejor opción en términos de claridad. Los enfoques anteriores con bucles siguen siendo perfectamente válidos y a menudo más claros.

¡Para recordar!

Así como hemos usado el operador + para concatenar dos cadenas de caracteres, el operador * se puede utilizar para concatenar una cadena de caracteres consigo misma un número de veces. Al multiplicar una cadena por un número entero, se repite esa cadena tantas veces como el número especificado. Esta es una característica única de Python que no todos los lenguajes de programación tienen.

Referencias


  1. "Pythonic" o "Pythónico" es un término que se refiere a un estilo de programación que aprovecha las características únicas de Python para escribir código que es claro, conciso y legible. También se lo suele llamar "Pythonic way" o "Pythonic style"

    Este concepto se basa en las convenciones y principios establecidos por la comunidad de Python, que buscan maximizar la efectividad y la elegancia del código.

    Así, escribir código "Pythónico" significa seguir las mejores prácticas y aprovechar las características únicas de Python para escribir código claro, conciso y eficiente.