¿Qué es Python y cómo preparar tu entorno?
Tu primer programa, el REPL y las herramientas del curso
Python es un lenguaje interpretado, legible y multiplataforma que se ejecuta línea por línea. En esta lección instalas las herramientas, aprendes a usar el REPL, escribes tu primer programa y entiendes qué ocurre cuando pulsas Enter.
- Explicar qué es un lenguaje interpretado y qué hace el intérprete de Python
- Instalar Python y comprobar la versión desde la terminal
- Usar el REPL para probar instrucciones sueltas
- Escribir, ejecutar y comentar un programa sencillo
- Reconocer los errores de sintaxis y de indentación más comunes
En esta lección
Imagina que quieres pedirle algo a una computadora. No entiende español, ni intuye lo que necesitas: hay que darle instrucciones exactas, en un idioma que ella pueda ejecutar. Python es uno de esos idiomas, y está diseñado para que las personas lo lean casi como leen una receta.
En este curso vas a usarlo para dos cosas: aprender a programar de verdad y, más adelante, construir modelos de Machine Learning. Todo empieza en el mismo sitio: un archivo de texto, un intérprete y una instrucción que se ejecuta.
¿Qué es Python?
Python es un lenguaje de programación de alto nivel, interpretado y de propósito general. Cada palabra importa:
- Alto nivel: tú escribes
print("Hola"); no tienes que gestionar registros del procesador ni direcciones de memoria. Python se encarga de esa traducción. - Interpretado: un programa llamado intérprete lee tu código y lo ejecuta. No necesitas compilar a un archivo binario antes de probarlo.
- De propósito general: sirve para automatizar archivos, crear APIs, analizar datos, entrenar redes neuronales o controlar un robot.
- Dinámico: una variable puede contener un número y después un texto. C++ no permite eso sin declarar otro tipo.
- Multiparadigma: puedes escribir funciones, clases, código funcional o asíncrono, y combinarlos.
¿Para qué sirve?
Estos son usos reales que verás a lo largo del curso, no ejemplos abstractos:
- Ciencia de datos: leer un CSV de ventas, limpiar valores nulos y calcular el ticket medio por región.
- Machine Learning: entrenar un modelo que prediga si un correo es spam y medir su precisión.
- Automatización: renombrar 5 000 archivos, generar informes o descargar datos de una web.
- Backend y APIs: exponer un modelo como servicio HTTP con FastAPI.
- Investigación: simular experimentos, procesar imágenes o analizar texto.
Cómo funciona por dentro
Cuando ejecutas un archivo .py, ocurre una cadena de pasos. Primero, el intérprete analiza el texto y comprueba que la sintaxis sea válida. Después lo traduce a un formato intermedio llamado bytecode, y una máquina virtual lo ejecuta instrucción por instrucción.
La implementación más usada se llama CPython. Existen otras (PyPy, Jython, MicroPython), pero cuando decimos «Python» en este curso hablamos de CPython, que es el que instalarás. La ventaja del bytecode es que puedes ejecutar el mismo archivo en Windows, macOS o Linux sin cambios.
mensaje = "Hola, mundo"print(mensaje)print(2 + 3)mensaje y guarda el texto en memoria. Todavía no se muestra nada.—
Avanza paso a paso: observa la línea resaltada, las variables y la salida.
Instalación y herramientas
Necesitas tres cosas: el intérprete, una terminal y un editor de código. En macOS y Linux suele venir instalado; en Windows conviene instalarlo desde la página oficial. Descarga Python 3.12 o superior: el curso usa sintaxis moderna (match, tomllib, tipos con |).
# macOS y Linux
python3 --version
# Windows (si el instalador lo añadió al PATH)
python --versionPara escribir código usa Visual Studio Code con la extensión oficial de Python, o PyCharm Community. Los dos te dan resaltado de sintaxis, autocompletado y ejecución con un botón. Más adelante instalaremos paquetes con pip, que viene incluido con Python.
El REPL: probar sin crear archivos
Abre la terminal y escribe python3 (o python en Windows). Verás un prompt con tres flechas: >>>. Eso es el REPL: Read, Eval, Print, Loop. Lee lo que escribes, lo evalúa, imprime el resultado y vuelve a empezar. Es ideal para experimentar con una expresión antes de llevarla a un programa.
$ python3
Python 3.13.0 (main, Oct 7 2024) [Clang 16.0.0] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 2 + 2
4
>>> nombre = "Ada"
>>> print("Hola,", nombre)
Hola, Ada
>>> exit()Fíjate en dos detalles. En 2 + 2, el REPL muestra el resultado automáticamente porque es una expresión. En nombre = "Ada", no muestra nada: una asignación no produce un valor visible. Para salir, escribe exit() o pulsa Ctrl+D (Ctrl+Z y Enter en Windows).
Tu primer programa
Crea una carpeta para el curso y dentro un archivo llamado hola.py. La extensión .py le dice al editor y al intérprete que contiene Python. Escribe exactamente esto:
# Mi primer programa: muestra un saludo
nombre = "Ada"
print("Hola, mundo")
print("Me llamo", nombre)
print("Estoy aprendiendo Python")# inicia un comentario: el intérprete lo ignora, pero sirve para explicar el código a las personas. nombre es una variable: un nombre que apunta a un valor. print(...) es una función: un bloque de código reutilizable que recibe datos entre paréntesis y hace algo con ellos. Aquí recibe textos separados por comas y los muestra con un espacio entre ellos.
Ejecútalo desde la terminal, situándote en la carpeta del archivo:
python3 hola.pySintaxis básica y comentarios
Python no usa llaves {} ni punto y coma ; para delimitar bloques. Usa indentación: espacios al principio de la línea. Esta es la regla que más sorprende a quien viene de C++ o Java, y también la que más errores causa al principio.
# Un comentario de una línea
nombre = "Ada" # también puede ir al final
# Las cadenas pueden usar comillas simples o dobles
saludo = 'Hola'
despedida = "Adiós"
# print es una función: los paréntesis son obligatorios
print(saludo)
# Las líneas se separan con saltos de línea, no con ;
edad = 36
print(edad)- Usa 4 espacios por nivel de indentación. No mezcles tabulaciones y espacios: Python 3 lo prohíbe.
- Los nombres de variables pueden tener letras, números y
_, pero no empezar por un número.edad_mediaes válido;2edadno. - Python distingue mayúsculas:
Nombreynombreson variables distintas. - Un comentario empieza con
#y llega hasta el final de la línea. No existe//para comentarios. - No hace falta declarar el tipo:
edad = 36crea la variable y guarda un entero.
nombre = "Ada"
print("Hola,", nombre)#include <iostream>
#include <string>
int main() {
std::string nombre = "Ada";
std::cout << "Hola, " << nombre << std::endl;
return 0;
}Python necesita dos líneas y ningún `main`; C++ declara tipos, incluye cabeceras y compila antes de ejecutar. Volveremos a esta comparación muchas veces: la comodidad de Python tiene un coste en control y velocidad.
Errores comunes (y cómo se leen)
| Mensaje | Qué significa | Cómo se arregla |
|---|---|---|
SyntaxError: invalid syntax | Falta un paréntesis, una coma o una comilla | Revisa la línea que indica el error y la anterior |
IndentationError: unexpected indent | Hay espacios de más al inicio | Alinea el bloque con 4 espacios exactos |
NameError: name 'Nombe' is not defined | Escribiste mal el nombre de una variable | Compara mayúsculas y ortografía |
TypeError: can only concatenate str | Intentaste sumar texto y número con + | Convierte con str(...) o usa una coma en print |
print "Hola, mundo"
// esto no es un comentario en Pythonprint("Hola, mundo")
# esto sí es un comentario en PythonEn Python 3 `print` es una función, así que los paréntesis son obligatorios. Y los comentarios se escriben con `#`, no con `//`.
Cuando aparezca un error, léelo de abajo hacia arriba: la última línea dice el tipo y el motivo, y las anteriores muestran la ruta y el número de línea. La terminal es tu mejor maestra; no la cierres por miedo.
Buenas prácticas desde el primer día
- Escribe nombres descriptivos:
precio_totalcomunica más quex. - Usa
snake_casepara variables y funciones (calcular_media), nocamelCase. - Deja una línea en blanco entre grupos lógicos de instrucciones.
- Comenta el porqué, no el qué.
# convertir a centavosaporta;# suma 1no. - Ejecuta el archivo con frecuencia: es más fácil encontrar un error en 10 líneas que en 100.
- Guarda cada ejercicio en su propio archivo, dentro de una carpeta del curso.
Caso práctico: ficha de estudiante
Vamos a unir variables, texto y salida en un programa útil. Una f-string es una cadena que empieza con f y permite insertar variables entre llaves. Es la forma recomendada de construir mensajes en Python moderno.
nombre = "Ada Lovelace"
carrera = "Inteligencia Artificial"
ciclo = 1
promedio = 17.5
print(f"Estudiante: {nombre}")
print(f"Carrera: {carrera}")
print(f"Ciclo: {ciclo} | Promedio: {promedio}")
print(f"¿Aprobado? {promedio >= 13}")Dentro de las llaves no solo cabe una variable: también cabe una operación. En la última línea, promedio >= 13 se evalúa primero y produce True o False; la f-string lo convierte a texto automáticamente. Ese es el primer paso hacia los condicionales que verás en la próxima lección.
Ejercicios
Ficha personal
ficha.py con tres variables: tu nombre, tu edad y tu lenguaje favorito. Muestra tres líneas usando f-strings, con el formato: Me llamo ___, Tengo ___ años y Quiero aprender ___. Después cambia los valores y vuelve a ejecutar.Pista
Recuerda el prefijo f antes de las comillas: f"Tengo {edad} años". Sin la f, las llaves se imprimen literalmente.
nombre = "Ada" edad = 20 print("Hola,", ) print("Tienes", , "años")
Dentro de `print`, los nombres de variables se escriben sin comillas. Con comillas serían el texto literal.
Resumen
- Python es interpretado: el intérprete lee y ejecuta el archivo, sin compilación manual.
- El REPL (
>>>) sirve para probar expresiones al vuelo;exit()para salir. print()es una función y sus paréntesis son obligatorios.- La indentación con 4 espacios define los bloques; los comentarios empiezan con
#. - Las variables no se declaran: se asignan. Los nombres usan
snake_case. - Las f-strings (
f"...{variable}...") construyen texto de forma legible. - Los errores se leen de abajo hacia arriba: tipo, motivo y línea.
Evaluación
¿Qué hace exactamente el intérprete de Python?
¿Cuál de estas líneas es un comentario válido en Python?
¿Ya lo entendiste?
Márcala como completada para llevar tu progreso y desbloquear el siguiente paso de la ruta.