Diferecias entre versiones de Python
¡Vamos a explorar la historia, evolución y versiones clave de Python!
1. Historia de Python #
Python es un lenguaje de programación de alto nivel, interpretado y multiparadigma, conocido por su sintaxis limpia y su énfasis en la legibilidad del código.
Origen de Python #
- Años 80: Python fue creado por Guido van Rossum en el Centro de Matemática y Computación de Ámsterdam (CWI), buscando un lenguaje sencillo y productivo sucesor de ABC.
- 1989: En las navidades de 1989, Guido comenzó el desarrollo del intérprete como proyecto paralelo.
- 1991: Publicación de la primera versión pública (Python 0.9.0), que ya incorporaba funciones, manejo de excepciones y tipos esenciales.
Evolución de las Versiones Principales #
- 1994 (Python 1.0): Primera versión estable; introdujo herramientas de programación funcional como
lambda,map,filteryreduce. - 2000 (Python 2.0): Introdujo recolección automática de basura cíclica, soporte Unicode y listas por comprensión (List Comprehensions).
- 2008 (Python 3.0): Ruptura deliberada de retrocompatibilidad para eliminar redundancias históricas, unificar el manejo de cadenas Unicode (
strvsbytes) y convertirprint()en función. - 2020: Fin de vida definitivo (EOL) de Python 2.7. Desde entonces, todo el desarrollo de librerías y software se centra exclusivamente en Python 3.
2. Hitos y Novedades en la Era Moderna de Python 3 #
Cada versión moderna de Python introduce mejoras de sintaxis, tipado y optimizaciones de rendimiento en el intérprete CPython:
| Versión | Año | Novedades Clave |
|---|---|---|
| Python 3.6 | 2016 | Cadenas formateadas literales (f-strings f"{nombre}") y orden de inserción preservado en diccionarios. |
| Python 3.8 | 2019 | Operador Morsa (Walrus Operator :=) para asignaciones directas en expresiones. |
| Python 3.9 | 2020 | Operadores de unión de diccionarios (`dict_a |
| Python 3.10 | 2021 | Pattern Matching Estructural (match-case) y sintaxis de tipos unión simplificada (`int |
| Python 3.11 | 2022 | Proyecto Faster CPython (aumento de velocidad del 10% al 60%), mensajes de error detallados con trazas precisas y Exception Groups (except*). |
| Python 3.12 | 2023 | Sintaxis explícita para alias de tipos (type Vector = list[float]) y eliminación de restricciones en comillas dentro de f-strings. |
| Python 3.13 | 2024+ | Soporte experimental para ejecución libre de hilos (Free-threaded CPython / No-GIL), compilador JIT experimental y un nuevo REPL interactivo con coloreado de sintaxis. |
3. Ejemplos de cambios fundamentales entre Python 2 y Python 3 #
Diferencia en la función print #
En Python 2, print era una declaración sin paréntesis:
1# Python 2 2print "Hola, mundo"
En Python 3, print() es una función obligatoria:
1# Python 3 2print("Hola, mundo")Salida de consola Hola, mundo
División entre enteros #
En Python 2, la barra simple / realizaba división entera truncada:
1# Python 2 2print(5 / 2) # Resultado: 2
En Python 3, la división simple / siempre devuelve un flotante exacto:
1# Python 3 2print(5 / 2) # Resultado: 2.5 3print(5 // 2) # División entera explícita: 2Salida de consola 2.5 2
Resumen del tema
Conceptos clave #
- Historia: creado por Guido van Rossum a finales de los 80 e introducido en 1991.
- Transición Python 2 vs Python 3:
print: sentencia en Python 2, funciónprint()en Python 3.- División: en Python 3
/siempre es decimal (5 / 2 = 2.5) y//es división entera. - Cadenas: en Python 3 todos los
strson Unicode por defecto y los binarios usanbytes.
- Evolución moderna (3.8 - 3.13):
- Operador morsa
:=(3.8), unión de diccionarios|(3.9). match-casey tipos uniónA | B(3.10).- Mayor rendimiento CPython y
except*(3.11). - Tipos genéricos avanzados y f-strings sin restricciones (3.12).
- Modo sin GIL experimental y JIT (3.13).
- Operador morsa
Qué debes recordar #
Python 3 es el estándar moderno y activo, enriquecido con f-strings, match-case, tipado estático integrado y optimizaciones continuas de rendimiento.