La transición de Python 2 a Python 3 marcó un antes y un después en la industria, y entender por qué importa te ayuda a elegir bien desde el inicio. Si estás aprendiendo a programar o tienes que mantener proyectos antiguos, aquí verás cuándo usar cada versión y qué son los PEPs, esas propuestas que definen hacia dónde avanza el lenguaje.
¿Por qué deberías empezar con Python 3 y no con Python 2?
Python 2 fue un jugador fuerte durante años, pero su ciclo de vida llegó a su fin. Cuando se grabaron cursos anteriores, hace casi año y medio o dos, todavía tenía peso en la industria. Hoy el panorama cambió por completo.
Casi todas las librerías migraron a Python 3, que se convirtió en el estándar de facto. Por eso la recomendación es clara: empieza directo con Python 3 [00:41].
¿Debo aprender Python 2 en 2024? No. Python 3 es el estándar actual y casi todas las librerías ya migraron. Solo necesitas conocer Python 2 si trabajas con proyectos heredados que aún dependen de esa versión.
¿En qué casos sí vale la pena mirar Python 2? Básicamente dos:
- Si tu trabajo te exige dar soporte a un proyecto existente en Python 2.
- Si por curiosidad casi arqueológica quieres investigar el pasado del lenguaje.
¿Qué herramientas usar para migrar o dar soporte a Python 2?
Cuando te toca convivir con versiones distintas, hay dos aliados concretos que te sacan del apuro.
- El módulo future te sirve si tienes que actualizar una librería de Python 2 a Python 3 [01:11].
- La librería six es ideal cuando tu software debe correr necesariamente en ambas versiones al mismo tiempo [01:23].
Con estas opciones claras, la decisión deja de ser un dolor de cabeza y se vuelve una cuestión de contexto.
¿Qué son los PEPs y por qué definen el futuro de Python?
Los PEPs son los Python Enhancement Proposals, la forma en que la comunidad define cómo avanza el lenguaje [01:36]. Como Python es un lenguaje abierto, estas propuestas sirven para comunicar entre todos los miembros los cambios al lenguaje, a la organización y a las buenas prácticas.
¿Qué es un PEP en Python? Es un Python Enhancement Proposal, un documento donde la comunidad propone y comunica cambios al lenguaje, su organización o sus buenas prácticas.
Hay tres PEPs que vale la pena saber de memoria porque marcan cómo escribes y documentas tu código.
¿Cuáles son los tres PEPs que debes conocer de memoria?
Estos tres documentos son la base para escribir código legible y colaborar sin fricciones.
- PEP 8: la guía de estilo de cómo escribir programas de Python [02:07]. Escribir de manera similar hace que tu software sea legible para otros miembros de la comunidad.
- PEP 257: explica cómo generar buena documentación dentro de tu código [02:33].
- PEP 20: conocido como el zen de Python, que se revisa directamente en la consola [02:40].
Escribir parecido no es un capricho estético, es lo que permite que la comunidad siga contribuyendo sobre el trabajo de los demás.
¿Cómo leer el zen de Python desde la consola?
El PEP 20 se abre directamente en el intérprete y resume la filosofía del lenguaje. Entra a la consola, escribe python y luego ejecuta este comando:
python
import this
Al correrlo aparece el zen de Python, una colección de principios que guían la forma de pensar al programar [02:57]. Estos son algunos de sus postulados más citados:
- Hermoso es mejor que feo, y explícito es mejor que implícito.
- Simple es mejor que complejo, pero complejo es mejor que complicado.
- Plano es mejor que anidado, y el código sparse es mejor que el dense.
¿Por qué tanto énfasis en los espacios? Porque lo que de verdad importa es que tu código se pueda leer. Ese es el corazón de toda la filosofía.
Hay otros principios igual de valiosos que conviene interiorizar:
- A menos que algo se silencie explícitamente, nunca deben silenciarse los errores.
- Frente a la ambigüedad, evita la tentación de adivinar.
- Siempre debe haber una, y preferiblemente solo una, forma de hacer las cosas.
Y aquí viene algo interesante: si la implementación es difícil de explicar, es una mala idea. Si es fácil de explicar, puede ser buena, aunque no necesariamente. Por eso los namespaces se consideran una gran idea que conviene usar más.
Si apenas estás empezando este camino, recuerda que aunque parezca difícil, muchos ya lo lograron y tú también puedes. ¿Qué principio del zen de Python te hizo más sentido? Cuéntalo en los comentarios.