Instagram celebró recientemente su cambio de Python 2 a Python 3. Sin embargo, muchas empresas famosas siguen utilizando Python 2.
¿Por qué? Una palabra: compatibilidad.
Python 3 no es «retrocompatible», lo que significa que si tu empresa está usando varias librerías de Python 2 puede que ya no funcionen después de la actualización.
Las empresas que ejecutan código en Python 2 tienen que tomar una decisión difícil: o bien tienen que encontrar una librería de reemplazo que funcione con Python 3, o están atrapados con Python 2. Dropbox escribió un informe detallado del proceso que les llevó TRES AÑOS para actualizar.
La adopción de Python 3 ha sido durante mucho tiempo un tema de debate en la comunidad de Python. Esto sigue siendo en cierto modo cierto, aunque ahora ha alcanzado un apoyo generalizado, con algunos proyectos muy populares como Django abandonando el soporte de Python 2 por completo.
Has leído bien, Dropbox tardó tres años en completar la actualización de Python 2 a Python 3 – ¡y por el amor de Dios, Guido Van Rossum (el inventor de Python) trabaja en Dropbox!
¡Python 3 tiene más de 10 años! Sin embargo, muchas empresas siguen utilizando Python 2. Entonces, ¿qué versión del lenguaje deberías aprender? En este post desglosaré las diferencias entre Python 2 y Python 3. Si no quieres leer el post mi consejo:
¿Por qué Python es tan popular?
- Intuitividad. La sintaxis (o «gramática» de Python, por así decirlo) es fácil de entender.
- Madurez. Python es un lenguaje probado con potentes capacidades que le permiten codificar casi cualquier cosa que pueda soñar.
- En demanda. Los desarrolladores de Python son contratados regularmente por una gran cantidad de empresas en todo el mundo.
- Amable a distancia. Los ninjas de la codificación y los estudiantes de codificación por igual sólo necesitan una conexión a Internet para lograr sus objetivos.
- Python es el nuevo Excel. La razón por la que se enseña Python en las escuelas de negocios es porque Python es como Excel con esteroides. Con Python, los analistas financieros, los directores generales y los profesionales del marketing basados en datos pueden aprovechar el poder de Python para hacer crujir los grandes datos.
¿Por qué hay dos versiones de Python?
Sin embargo, hace tiempo que se está produciendo un cambio en la tierra de Python. La Python Software Foundation, una organización independiente sin ánimo de lucro que posee los derechos de autor del software, lanzó la versión 2.7 en 2010, al tiempo que actualizaba el código base a varias iteraciones de la 3.x simultáneamente. A lo largo de varios años, empresas y proyectos comenzaron a migrar a Python 3 debido a sus diversas ventajas.
¿Por qué elegir Python 2?
Una de las mayores razones para quedarse con Python 2 es si estás interesado en trabajar con una gran base de código que fue escrita en Python 2. Trasladar una gran aplicación escrita en una versión antigua de un lenguaje, o reescribirla en otro lenguaje por completo, puede ser una empresa enorme.
Otra razón para quedarse en la tierra de Python 2 es si tu código depende de una extensión específica escrita originalmente para Python 2 que no ha sido actualizada. La mayoría lo han sido, pero no todas. Depende de ti decidir si merece la pena seguir trabajando con extensiones antiguas (también llamadas «paquetes»).
¿Por qué elegir Python 3?
Por decirlo claramente, Python 2 es el legado, Python 3 es el futuro. Si estás empezando a aprender a codificar – aprende Python 3. Aquí hay algunas razones adicionales por las que deberías aprender Python 3:
- Código heredado. Después de 2020, Python 2 dejará de ser mantenido.
- Aprende las mejores prácticas. Python 3 incluye mejoras que no están disponibles en Python 2.
- Escriba un código más limpio. Python 3 ha modificado elegantemente su estructura para que se necesiten menos líneas de código para realizar una acción.
- Evite confusiones sintácticas. Existen algunas pequeñas diferencias gramaticales entre las dos versiones, que pueden frustrar a los principiantes.
¿Cuáles son las diferencias entre Python 2 y Python 3?
Una de las primeras líneas de código Python que escribirás como principiante será decirle al ordenador que utilice la función print para devolver la frase «¡Hola mundo!»
Python 2:
Print "Hello world!”
Python 3:
print("Hello world!”)
Resultado: El ordenador devuelve lo mismo, pero puedes encontrar que el código anidado entre paréntesis se utiliza mucho más a menudo en Python 3. Hay razones programáticas para esto también: Python 3 es mucho más fácil de leer.
Hello world!
Si eso suena como un montón de paréntesis para seguir, ¡no temas! Al principio de su proceso de aprendizaje instalará un editor de texto que está específicamente diseñado para resaltar los paréntesis que faltan y otros errores de sintaxis – e incluso autocompletar muchas cosas comunes para usted.
Variables de Python
Un segundo ejemplo que implica un uso más extenso de paréntesis es reemplazar una línea de texto preparado devuelta con diferentes variables. Esto es parte de la operación que está ocurriendo cuando te suscribes a un boletín de correo electrónico, y mágicamente te lo dirigen con tu nombre real.
Python 2:
User20987 = "Chris Castiglione”print "Hi, %, hope you’re having a great day today!” % (User20987)
Python 3:
User20987 = "Chris Castiglione”print("Hi {0}, hope you’re having a great day today!”).format(User20987))
Funciones de Python
Otra gran diferencia de sintaxis es cómo ha cambiado la función raw_input(). Esta es una función extremadamente común que toma información de varios campos de un sitio web (como cuando te registras en una nueva cuenta y escribes tu dirección de correo electrónico).
Python 2:
Field_1 = raw_input("entered_value”)
Python 3:
Field_1 = input("entered_value”)
Esto importa más de lo que parece, porque también tiene un efecto en cómo el ordenador interpreta el código. Python 2 «evaluará» automáticamente la entrada, lo que puede tener consecuencias no deseadas si el usuario no introduce el tipo de datos que el programador espera.
Supongamos que en el ejemplo anterior, el programador de Python 2 esperaba que el usuario introdujera un número entero, pero en su lugar el usuario cometió un error tipográfico e introdujo la operación matemática «7-2». Esa línea de código devolvería el número 5, que no sería el resultado deseado.
La versión de Python 3 no evaluará la entrada por defecto. En lugar de hacer la operación matemática, devolverá una forma de datos llamada «cadena», que en este caso sería una copia de lo que el usuario introdujo: «7-2». Este enfoque permite definir con mayor precisión qué tipo de datos recibe del usuario.
Por qué recomiendo aprender Python 3:
El rendimiento de Python 2 frente a 3 en términos de velocidad de computación ha mejorado drásticamente, pero Python 3 también mejora las ya vastas capacidades de Python 2.
Aquí hay algunas cosas nuevas y geniales que aprenderás cuando empieces:
- Una entrada de usuario más fácil. Una de las primeras lecciones comunes es tomar los datos introducidos por el usuario (el ejemplo de sintaxis de entrada utilizado anteriormente, por ejemplo) y pasarlos a un simple script para crear una lista de información. Python 3 mejora este proceso.
- Manejo de números mejorado. Python 3 incluye algunas mejoras en el cálculo matemático que son fundamentales para muchas aplicaciones.
- Se admiten complementos populares. También aprenderás el concepto de extensiones llamadas «módulos» y «paquetes» que no se incluyen en la instalación por defecto de Python 3. A medida que crezcas, la instalación y el uso de estos formarán parte de tu repertorio diario. Casi todos los paquetes más populares están preparados para Python 3 desde hace años.
- Soporte Unicode. Sabías que los emojis son caracteres Unicode? ¡No hay emojis en Python 2! 😉 😎😃
- ¡Y hay más! Aquí tienes seis cosas que debes saber antes de aprender Python.
¿Cómo puedo tener Python 3 en mi ordenador?
Muchos ordenadores nuevos todavía vienen con Python 2.7 preinstalado por defecto, pero merece la pena aprender a instalar y usar Python 3 en tu propia máquina personal.
La clase de Introducción a Python de Un Mes te guiará en la instalación de Python 3 en tu máquina personal, ya que el proceso para hacerlo varía entre los sistemas operativos.