Saltar a contenido

Uso de la "variable de descarte"

Si continuamos analizando el funcionamiento de nuestro programa, notaremos que podemos aplicar una pequeña mejora en la sintaxis del bucle for.

Python
for i in range(1000000): 
    print("Hola")

En este código, definimos la variable i pero no la utilizamos en el cuerpo del bucle. En este caso, i es una variable de control que simplemente toma los valores de la secuencia generada por range(), solo porque así lo requiere el funcionamiento del bucle for.

Desde un punto de vista lógico, esta variable es necesaria porque Python necesita algo para llevar la cuenta de las iteraciones. Sin embargo, existe una convención en Python para situaciones donde necesitas una variable solo porque la estructura de control lo requiere, pero su valor no es relevante para ti como programador. Es una buena práctica, aunque no estrictamente necesaria, que podemos aplicar incluso si solo repetimos una acción un reducido número de veces.

¡Para recordar!

En Python, es común utilizar un guion bajo _ como placeholder (variable de descarte):

  • cuando necesitas una variable en la sintaxis, pero no planeas usar su valor
  • como convención para indicar a otros programadores (y a ti mismo) que el valor no será utilizado

Esta convención es una forma de mejorar la claridad y legibilidad de tu código, y es una práctica común en la comunidad Python.

En el contexto de la estructura repetitiva for se emplea cuando no necesitamos utilizar la variable de control en el cuerpo del bucle.

En estos casos, se recomienda nombrar la variable con un solo guion bajo _. Aunque esto no afecta el funcionamiento del programa, sirve como una señal clara para ti en el futuro, así como para otros programadores que puedan revisar tu código. Indica que _ sí es una variable, pero su nombre no importa porque no se utilizará más allá de la estructura del bucle.

Esta convención es una pequeña mejora que hace tu código más "Pythónico"1, es decir, más acorde con las prácticas comunes en la comunidad Python. Aunque es un cambio sutil, contribuye a la claridad y legibilidad del código.

El código anterior se puede reescribir de la siguiente manera:

Python
for _ in range(1000000): 
    print("Hola")

En este caso, la variable de control del bucle se llama _. Aunque es una variable válida en Python, su nombre indica que no se utilizará más allá de la estructura del bucle.

¡Para tener en cuenta!

Es importante notar que aunque se llama "variable de descarte", técnicamente sigue siendo una variable válida en Python y puede ser asignada y leída. Sin embargo, por convención, se usa para indicar que el valor no será utilizado en el código.

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.