tips de python, 5 Tips para programar en Python

5 Tips para programar en Python

Aprende estos 5 tips de python para mejorar tus programas, Python tiene muchas funcionalidades que la mayoría de los programadores no siempre utilizan, ya sea porque las desconocen o las olvidan.

A continuación te muestro 5 tips que puedes usar para que tus programas con Python sean más legibles o eficientes.

Si aún no has comenzado a programar con Python te recomiendo mi publicación sobre cómo comenzar. 

Operador ternario

En cualquier programa es común encontrarnos con situaciones donde debemos establecer el valor de una variable a partir de una condición:

condicion = True

if condicion:
    x = 1
else:
    x = 0

print(x)
Todas esas líneas de código se pueden reemplazar con lo siguiente obteniendo el mismo resultado:

condicion = True

x = 1 if condicion else 0
print(x)
Con esto reducimos las líneas del código y hacemos un poco más legible nuestro programa

Guión bajo en números

Algo que no muchos conocen de Python 3 es la habilidad que tiene de usar guiones bajos en medio de la declaración de números.

Python 3 ignora estos guiones, así los podemos usar para crear constantes de grandes cantidades fáciles de leer. Por ejemplo:

NOTA: Sólo funciona con Python 3


CONSTANTE = 10000000 # 10 millones
print(CONSTANTE)

CONSTANTE_ = 10_000_000 # 10 millones con guiones bajos
print(CONSTANTE_)

Al correr este código se imprimirá 2 veces el mismo número sin levantar ningún error.

Desempaquetado

Una de las habilidades más fuertes de Python es el desempaquetado, nos permite en una sola línea de código declarar múltiples variables, incluso accediendo directamente a cada elemento de una lista o tupla por su posición, un ejemplo de como se usa:


usuario = ['John', 'Doe', 'john@mail.com']
nombre = usuario[0]
apellido = usuario[1]
correo = usuario[2]

print(f"Correo de {nombre} {apellido}: {correo}")

De esa forma tenemos que acceder directamente a la lista para obtener cada dato, con el uso de desempaquetado podemos hacer la misma funcionalidad con una sola línea de código:


usuario = ['John', 'Doe', 'john@mail.com']
nombre, apellido, correo = usuario

print(f"Correo de {nombre} {apellido}: {correo}")

Python detecta que queremos extraer 3 datos de la lista usuario, y regresa su valor por posición y lo asigna a cada variable.

Si intentamos hacer esto con una lista que no contenga la misma cantidad de elementos nos dará un error de desempaquetado. Aunque no es posible crear una variable “basura”, que recolecte todos los valores restantes de la lista que no esperábamos o simplemente no usaremos:


usuario = ['John', 'Doe', 'john@mail.com', 'Av. Lopez Mateos']
nombre, apellido, *restante = usuario

print(f"Usuario: {nombre} {apellido}")
print("Datos restantes", restante)

Es común encontrar en Python que la variable basura se declare como _ (Guión bajo), por si lo encuentras en algún código seguramente sólo están tratando de evitar errores de desempaquetado.

Enumerate

Probablemente en algunos de tus programas habrás usado una variable para contar el número de iteraciones dentro de un ciclo for para obtener el índice de cada elemento, haciendo algo como esto:

frutas = ['Manzana', 'Pera', 'Naranja']
ix = 0
for fruta in frutas:
    print(f"{ix} -> {fruta}")
    ix+= 1

O tal vez haz usado la función range en conjunto con la función len sobre una lista para iterar usando el índice en lugar de los objetos de la lista:

frutas = ['Manzana', 'Pera', 'Naranja']

for ix in range(len(frutas)):
    print(f"{ix} -> {frutas[ix]}")

Python tiene una función que no muchos programadores usan y nos ayuda a simplificar este tipo de iteraciones.

La función enumerate recibe como parámetro un iterable y regresa otro iterable con una tupla en la forma (índice, elemento) por lo que podemos usar el desempaquetado de Python para crear 2 variables en la misma sentencia for:

frutas = ['Manzana', 'Pera', 'Naranja'] 

for ix, fruta in enumerate(frutas):
    print(f"{ix} -> {fruta}")

Aprovecha esta funcionalidad y realiza tus programas con una estructura sencilla.

Contraseña

Alguna vez en tu camino de aprendizaje de Python habrás creado un programa que corre solamente en la consola del sistema operativo.

Es algo común solicitar credenciales como usuario y contraseña al usuario en este tipo de programas, sobre todo si éste se conecta con algún servidor.

Pedir una contraseña en Python a través de la consola no es seguro, ya que al usar la función input exponemos los caracteres de la contraseña en la pantalla:


usuario = input("Introduce tu usuario: ")
contra = input("Contraseña: ")

print(usuario, contra)

Observa como al pedir la contraseña y escribir todo queda expuesto, esto lo podemos evitar usando una librería que tiene por defecto Python 3, getpass , se usa de la siguiente forma:


from getpass import getpass
usuario = input("Introduce tu usuario: ")
contra = getpass("Contraseña: ")

print(usuario, contra)

Solicitamos la contraseña de la misma forma que lo haríamos con input pero ahora con la función getpass, igualmente nos regresará un string con los datos recibidos con la mayor diferencia de que no mostrará los caracteres de la contraseña mientras el usuario la escribe.

tips de python, 5 Tips para programar en Python

Para más información sobre esta función te recomiendo la documentación oficial: link.

Conclusión

Usa estos tips de python, te abrirá muchas puertas en la forma que escribes tus programas, serán más legibles y algunos casos eficientes. Usarlos no necesariamente significa que el código es mejor pero si los sabes aplicar, sin duda harán una diferencia en tu forma de programar y dará una apariencia más profesional a tu portafolio. 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *