Capitulo 2: Primeros Programas: Apéndice
Apéndice
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
- Declaración de Procedimientos
- Operadores matemáticos
- Operadores lógicos
- Comparaciones
- Errores comunes
- Alternativa Condicional
- Variables
Declaración de Funciones
Las funciones en Python se declaran mediante la palabra clave def
y:
- los parámetros se declaran entre paréntesis (
(
y)
), separados por comas (,
) ; - la primera línea (llamada cabecera) se separa del resto (cuerpo) usando un
:
; - el cuerpo se declara aplicando un nivel de tabulación;
- el cuerpo de la función debe tener al menos un retorno, que se expresa mediante
return
.
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:
- modificar una variable global;
- modificar una estructura de datos tal listas, diccionarios, etc.
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
Errores
Al programar en Python nos encontraremos con múltiples errores. Es importante no alarmarnos y leerlos detenidamente, dado que suelen contener información útil que nos ayudará a resolverlos. Estos son los más frecuentes:
- Errores estáticos: son aquellos que ocurren antes de que el código de un programa pueda cargarse en su totalidad
SyntaxError
: cuando no respetamos la sintaxis del lenguaje, como por ejemplo cuando falta o sobra un paréntesisIndentationError
: cuando la tabulación (sangrado) es incorrecta
- Errores dinámicos: son aquellos que ocurren luego de que el programa se cargó completamente, típicamente cuando invocamos una función o procedimiento:
NameError
: cuando invocamos una función que no está definida (ya sea porque no está cargada, porque no existe, o porque está mal escrito su nombre)TypeError
: cuando se realizan operaciones con tipos incorrectos, como comparación por mayor o menor entre tipos incompatibles, o uso de funciones de strings con númerosZeroDivisionError
: cuando realizamos una división por ceroValueError
: cuando se realizan operaciones con tipos correctos, pero valores incorrectos, como por ejemploint("hola")
Alternativa Condicional
Los if
s en Python llevan su condición delante de un :
y su cuerpo tabulado:
if hay_personas_en_espera():
llamar_siguiente_persona()
Además, los if
s pueden opcionalmente tener un else
:
if hay_personas_en_espera():
llamar_siguiente_persona()
else:
esperar_siguiente_persona()
Por último, podemos combinar varios if
s 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