Recursos Python

Recursos libres para aprender a programar en español

View the Project on GitHub flbulgarelli/recursos-python

Basado en https://github.com/MumukiProject/mumuki-apendice-imperativa-javascript

Referencia rápida del lenguaje Python

El lenguaje Python es utilizado ampliamente para construir software en todo el mundo, siendo una herramienta muy frecuente para el análisis de datos y la construcción de aplicaciones.

Declaración de Funciones

Las funciones en Python se declaran mediante la palabra clave def y:

Ejemplo:

def nombre_de_la_funcion(parametro1, parametro2, parametro3):
  return ...

Por otro lado, las mismas pueden ser invocadas escribiendo su nombre y, entre paréntesis y separados por comas, pasando sus argumentos:

nombre_de_la_funcion(argumento1, argumento2, argumento3)

Esta forma de invocación se llama posicional porque el orden de los argumentos se corresponde directamente con el orden de los parámetros. Alternativamente, se pueden pasar los argumentos de forma nombrada (o etiquetada), en la que la correspondencia se especifica explícitamente…

nombre_de_la_funcion(parametro1 = argumento1, parametro2 = argumento2, parametro3 = argumento3)

… y ya no es necesario respetar el orden de los parámetros:

nombre_de_la_funcion(parametro2 = argumento2, parametro3 = argumento3, parametro1 = argumento1)

Declaración de Procedimientos

Los procedimientos se declaran de forma similar a las funciones, pero sin colocar un return. Además, el cuerpo del procedimiento debe tener algún tipo de efecto (es decir, modificar algún elemento del programa), como por ejemplo:

Ejemplo:

def nombre_del_procedimiento(parametro1, parametro2, parametro3):
  # acá hay que producir algún efecto

Por otro lado, los procedimientos se invocan de la misma forma que las funciones, pero al no tener un return, no devolverán nada (o lo que es lo mismo, devuelve None, que significa nada en inglés).

Operadores matemáticos

4 + 5
10 - 5
8 * 9
10 / 5

Operadores lógicos

true or false
true and false
not false

Comparaciones

# para cualquier tipo de dato
"hola" == "hola"
"hola" != "chau"

# para números
4 >= 5
4 > 5
4 <= 5
4 < 5

Alternativa Condicional

Los ifs en Python llevan su condición delante de un : y su cuerpo tabulado:

if hay_personas_en_espera():
  llamar_siguiente_persona()

Además, los ifs pueden opcionalmente tener un else:

if hay_personas_en_espera():
  llamar_siguiente_persona()
else:
  esperar_siguiente_persona()

Por último, podemos combinar varios ifs para tomar decisiones ante múltiples condiciones usando elif:

if hay_personas_en_espera():
  llamar_siguiente_persona()
elif el_puesto_debe_seguir_abierto():
  esperar_siguiente_persona()
else:
  cerrar_puesto()

Variables

Las variables nos permiten recordar valores y les daremos un valor inicial usando =:

pesos_en_mi_billetera = 100
dias_que_faltan_para_el_verano = 10

La mismas se actualizan de la misma forma, también mediante =:

pesos_en_mi_billetera = 65
dias_que_faltan_para_el_verano = 7

En ocasiones las asignaremos usando el valor anterior:

pesos_en_mi_billetera = pesos_en_mi_billetera * 2
dias_que_faltan_para_el_verano = dias_que_faltan_para_el_verano - 1

La asignación anterior se puede compactar combinando el signo = y la operación:

pesos_en_mi_billetera *= 2
dias_que_faltan_para_el_verano -= 1

Repetición indexada

Las listas pueden ser recorridas, visitando y haciendo algo con cada uno de sus elementos. Para ello contamos con la estructura de control for..in, que lleva su generador delante de dos puntos (:) y su cuerpo tabulado:

patrimonios_de_la_humanidad = [
  {"declarado": 1979, "nombre": "Parque nacional Tikal", "pais": "Guatemala"},
  {"declarado": 1983, "nombre": "Santuario histórico de Machu Picchu", "pais": "Perú"},
  {"declarado": 1986, "nombre": "Parque nacional do Iguaçu", "pais": "Brasil"},
  {"declarado": 1995, "nombre": "Parque nacional de Rapa Nui", "pais": "Chile"},
  {"declarado": 2003, "nombre": "Quebrada de Humahuaca", "pais": "Argentina"}
 ]

cantidad_patrimonios_declarados_en_este_siglo = 0
for patrimonio in patrimonios_de_la_humanidad:
  if patrimonio["declarado"] >= 2000:
    cantidad_patrimonios_declarados_en_este_siglo += 1