Aprende Python con bases sólidas: qué es, cómo ejecutarlo en REPL y archivos, por qué PEP 8 y Ruff importan, cómo aislar dependencias con UV y entornos virtuales, y cómo crear una to-do list en la terminal. Con ejemplos reales, errores comunes y buenas prácticas para escribir código legible y mantenible.
¿Qué es Python y cómo ejecutarlo de forma práctica?
Python es una organización y también un lenguaje. Mantiene un cronograma de versiones con estados como end of life. Es interpretado: el código se ejecuta línea a línea sin compilar. Es dinámicamente tipado: el tipo se decide en ejecución. A la vez es fuertemente tipado: no mezcla tipos incompatibles en operaciones. Respeta mayúsculas y minúsculas. Y no usa punto y coma; la identación define bloques.
PEP 8: la guía de estilo, como una ortografía del código. Explica identación y nombres en minúscula para funciones como print.
Ruff del equipo de Astral: formatea ultra rápido según PEP 8; se integra en el editor. También se mencionó Black para estandarizar comillas.
Jupyter y Google Colab: ejecutan Python en la web con kernels y server. Útiles para compartir, no para producción.
Terminal y REPL: ideal para explorar, con comandos como help(print) y exit.
.py y .pyc: al ejecutar, Python genera .pyc y corre en su máquina virtual.
# main.pyprint("Hola Platzi Live desde un archivo")# En terminal# python3 main.py
Errores que enseñan: un Print con P mayúscula falla; PEP 8 define print en minúscula. La identación incorrecta produce IndentationError; lee el mensaje de error de abajo hacia arriba y usa el traceback para ubicar el origen.
También se destacó el rendimiento reciente: el bloqueo GIL se puede quitar en versiones nuevas para concurrencia; aún está verde en el ecosistema y puede requerir cambios en extensiones. La invitación es a probar y apoyar en proyectos de código abierto como Django o FastAPI con issues bien documentados.
¿Por qué PEP 8 y Ruff importan en la escritura de código?
Aseguran consistencia visual y fácil lectura.
Evitan discusiones de estilo y errores comunes.
Permiten autoformato al guardar con extensiones como Ruff.
Uso de trailing comma en listas/diccionarios multilínea facilita diffs limpios en git.
¿Cómo usar Jupyter, Colab, REPL y archivos .py?
Jupyter y Colab ejecutan en server y devuelven resultados en el navegador.
La REPL sirve para probar rápido y leer ayudas con help().
Los archivos .py son reproducibles; al ejecutarlos, Python genera .pyc.
¿Qué son los archivos .pyc y la máquina virtual?
.pyc es el bytecode que Python ejecuta en su máquina virtual.
Se crea automáticamente al correr un .py.
¿Cómo gestionar versiones y entornos virtuales con UV?
La recomendación profesional es usar entornos virtuales para aislar dependencias entre proyectos. Así, un proyecto con SDK de Slack no interfiere con otro que usa otras APIs. Además, gestionar versiones con UV simplifica instalación y activación en Windows, macOS y Linux.
¿Qué problema resuelven los entornos virtuales?
Separan versiones de Python y librerías por proyecto.
Evitan conflictos al instalar dependencias distintas.
Permiten reproducibilidad y mantenimiento sencillo.
¿Cómo crear y activar un entorno con UV?
Listar versiones disponibles.
Instalar una versión específica.
Crear y activar el entorno; verás el nombre entre paréntesis en la consola.
UV Python list
python install3.10VVM # crea el entorno virtual según la guía mencionada# activar el entorno (comando que mostró la herramienta al crearlo)python --versión # ya funciona el alias dentro del entorno
Con UV también se confirmó que crear entornos es similar a hacerlo con Conda, pero de forma más simple y unificada. Para Windows, se recomendó WSL 2 para un entorno Linux más cercano a producción.
¿Puedo usar Colab y Windows en desarrollo?
Colab sí, sobre todo para compartir y experimentar; para producción, despliega en server propio.
En Windows, Python funciona bien; con WSL 2 la experiencia se acerca a Linux.
¿Qué bases de programación aplicamos en Python para una to-do list?
Se trabajaron comentarios, funciones, tipado, control de flujo, bucles y estructuras de datos para crear una app de tareas en la terminal.
Comentarios con numeral para notas rápidas.
Docstrings con tres comillas para documentación multilínea que tu editor muestra al pasar el mouse.
Anotaciones de tipo como int y str ayudan al editor a detectar errores, aunque en ejecución Python sigue siendo dinámico.
defbienvenida(nombre:str, edad:int):"""
Función para dar la bienvenida. Valida si la edad es mayor a dieciocho.
nombre: nombre de la persona.
edad: edad de la persona.
"""if edad >=18:print(f"Bienvenido {nombre} a la fiesta")elif edad >=13:print(f"Bienvenida {nombre} a la zona sin licor")else:print("Menor de edad, acceso denegado")
Estructuras de datos y funciones de la to-do list:
tareas =[{"descripcion":"Aprender Python","completada":False},{"descripcion":"Visitar lcmartinez.com","completada":True},{"descripcion":"Ver cursos de Python en Platzi","completada":False},]defagregar_tarea(descripcion:str): tareas.append({"descripcion": descripcion,"completada":False})deflistar_tareas():ifnot tareas:print("No hay tareas.")returnfor tarea in tareas: estado ="✔"if tarea["completada"]else"✘"print(f"{estado}{tarea['descripcion']}")defbuscar_tarea(descripcion:str):for tarea in tareas:if tarea["descripcion"]== descripcion:return tarea
returnNone
Habilidades practicadas:
Leer y depurar errores con traceback de abajo hacia arriba.
Aplicar PEP 8, identación y nombres en minúscula.
Usar REPL y archivos .py para flujos distintos.
Manejar entornos virtuales con UV y separar dependencias.
Documentar con docstrings y comentarios útiles.
Diseñar funciones pequeñas con retornos claros.
¿Tienes dudas o ideas para mejorar la to-do list? Deja tus preguntas y comparte qué funcionalidades agregarías o qué errores resolviste hoy.