UT1: Fundamentos de Python¶
Objetivos de la unidad¶
Al finalizar esta unidad serás capaz de:
- Comprender qué es Python y cómo se ejecuta.
- Escribir programas simples correctamente estructurados.
- Utilizar variables, tipos de datos y operadores.
- Gestionar entrada y salida de datos.
- Aplicar buenas prácticas básicas de programación.
- Interpretar y solucionar errores comunes.
1. ¿Qué es Python?¶
Python es un lenguaje de programación:
- Interpretado: el código se ejecuta línea a línea, sin necesidad de compilarlo antes.
- De alto nivel: su sintaxis se parece mucho al inglés natural, lo que lo hace fácil de leer.
- Multiparadigma: puedes programar de forma imperativa, orientada a objetos o funcional.
- De tipado dinámico: no necesitas decirle a Python qué tipo de dato es una variable, lo detecta solo.
- Multiplataforma: funciona en Windows, Linux y macOS sin cambios.
Se utiliza en sectores muy variados:
- Desarrollo web (Django, FastAPI)
- Automatización de tareas repetitivas
- Ciencia de datos e inteligencia artificial
- Ciberseguridad y hacking ético
- DevOps y administración de sistemas
¿Por qué aprender Python?
Python es el lenguaje más utilizado en el mundo según los índices TIOBE y Stack Overflow. Aprenderlo bien te abre las puertas a prácticamente cualquier área de la informática.
2. ¿Cómo se ejecuta un programa en Python?¶
Antes de nada, comprueba que tienes Python instalado:
Verás algo como Python 3.12.x. Si aparece un error, necesitas instalar Python desde python.org.
Para ejecutar un archivo:
¿Python o Python3?
En algunos sistemas (especialmente Linux y macOS) puede que necesites escribir python3 en lugar de python. En Windows suele funcionar directamente python.
3. Entorno de desarrollo¶
Puedes programar en cualquier editor de texto, pero para este módulo recomendamos:
- VS Code — gratuito, ligero y con soporte excelente para Python. Es la opción recomendada.
- PyCharm — muy completo, pero más pesado. Ideal cuando ya tengas más experiencia.
- Jupyter Notebook — útil para ciencia de datos y experimentos rápidos.
Configuración recomendada en VS Code
Instala la extensión oficial de Python (de Microsoft). Te dará resaltado de sintaxis, autocompletado y la posibilidad de ejecutar el código directamente desde el editor.
4. Sintaxis básica¶
4.1 Comentarios¶
Los comentarios son líneas que Python ignora al ejecutar el código. Sirven para explicar qué hace el código, tanto a otros como a ti mismo cuando lo releas días después.
Comentario de una línea (empieza con #):
Comentario de varias líneas (docstring, con comillas triples):
¿Cuándo comentar?
Comenta el por qué, no el qué. Si el código ya es claro, no hace falta explicarlo. Un buen comentario aclara la intención detrás de una decisión.
4.2 Variables¶
Una variable es como una caja con etiqueta en la que guardas información. La etiqueta es el nombre de la variable y el contenido es su valor.
Se llaman "variables" porque su contenido puede cambiar a lo largo del programa:
Para saber qué tipo de dato tiene una variable, usa type():
Reglas para nombres de variables¶
| Regla | Ejemplo correcto | Ejemplo incorrecto |
|---|---|---|
| No pueden empezar por número | precio1 |
1precio |
| No pueden contener espacios | precio_total |
precio total |
| No pueden ser palabras reservadas | total |
if, for, while... |
Solo letras, números y _ |
mi_variable |
mi-variable, mi.variable |
Convención: snake_case
En Python se recomienda usar snake_case para los nombres de variables: todas las letras en minúscula y las palabras separadas por guión bajo. Ejemplo: precio_total, nombre_alumno, numero_intentos.
4.3 Tipos de datos básicos¶
Cada variable tiene un tipo que determina qué clase de información almacena y qué operaciones puedes hacer con ella.
| Tipo | Nombre | Ejemplo |
|---|---|---|
| Entero | int |
edad = 25 |
| Decimal | float |
precio = 9.99 |
| Texto | str |
nombre = "Ana" |
| Booleano | bool |
activo = True |
Ejemplos:
Las cadenas siempre van entre comillas
nombre = Ana daría un error porque Python buscaría una variable llamada Ana. Siempre usa comillas: nombre = "Ana".
4.4 Conversión de tipos (casting)¶
A veces necesitas convertir un dato de un tipo a otro. A esto se le llama casting.
Esto es especialmente útil con input(), que siempre devuelve texto:
No puedes convertir cualquier texto a número
5. Entrada y salida de datos¶
5.1 Salida con print()¶
La forma más moderna y recomendada de mostrar variables es usando f-strings:
Las f-strings empiezan con una f antes de las comillas y permiten insertar variables directamente entre {}.
5.2 Entrada con input()¶
input() pausa el programa y espera a que el usuario escriba algo y pulse Enter:
input() siempre devuelve texto (str)
Aunque el usuario escriba un número, input() lo devuelve como texto. Si quieres operar con él matemáticamente, conviértelo:
6. Operadores¶
6.1 Aritméticos¶
¿Para qué sirve el módulo %?
El operador % devuelve el resto de una división entera. Es muy útil para saber si un número es par o impar:
6.2 Comparación¶
Comparan dos valores y devuelven True o False:
= no es lo mismo que ==
=asigna un valor a una variable:edad = 20==compara si dos valores son iguales:edad == 20
Confundirlos es uno de los errores más frecuentes al empezar.
6.3 Lógicos¶
Combinan condiciones booleanas:
6.4 Asignación compuesta¶
Forma abreviada de modificar el valor de una variable:
7. Indentación y bloques de código¶
En Python la indentación (los espacios al inicio de una línea) es parte de la sintaxis. Define qué código pertenece a qué bloque.
Usa siempre 4 espacios
Python acepta cualquier cantidad de espacios, pero en la misma parte del código deben ser consistentes. Lo estándar (PEP8) son 4 espacios. No mezcles espacios y tabulaciones.
8. Errores comunes¶
Cuando un programa falla, Python muestra un mensaje de error. Aprender a leerlos es una habilidad fundamental. No te asustes, son tus mejores aliados para depurar.
SyntaxError — error de sintaxis¶
Python no entiende lo que has escrito. Suele ser una falta de paréntesis, dos puntos, o una palabra mal escrita.
TypeError — tipos incompatibles¶
Estás intentando operar con tipos que no son compatibles.
Solución: convierte el número a texto con str():
NameError — variable no definida¶
Estás usando una variable que no existe (o la has escrito mal).
IndentationError — indentación incorrecta¶
La indentación no es consistente.
Cómo leer un error
Un mensaje de error de Python siempre te dice:
- El tipo de error (
TypeError,NameError...) - El archivo y la línea donde ocurre
- Una descripción del problema
Lee siempre la última línea del error primero: es la descripción más concreta.
9. Modelo mental: cómo piensa un programa¶
Todo programa, por complejo que sea, sigue este esquema:
Ejemplo práctico — programa que calcula el doble de un número:
Antes de escribir código, pregúntate siempre: - ¿Qué datos necesito como entrada? - ¿Qué operación debo hacer? - ¿Qué debo mostrar al final?
10. Buenas prácticas básicas¶
- Nombres descriptivos:
precio_totales mucho mejor queptox. - Código limpio y legible: deja espacios alrededor de los operadores (
x = 5, nox=5). - No repitas código: si algo se repite más de dos veces, probablemente necesita una función.
- Comenta lo necesario: explica el por qué, no el qué.
- Sigue PEP8: es la guía de estilo oficial de Python. VS Code puede avisarte de las infracciones automáticamente.