Python es el nombre de un lenguaje de programación que se emplea para desarrollar programas informáticos. Entre las ventajas que le atribuyen los especialistas, se encuentran la posibilidad de ejecutarlo en múltiples plataformas, su eficiencia y lo sencillo que resulta su aprendizaje.
De código abierto (open source), Python es un lenguaje orientado a objetos: esto quiere decir que está organizado en torno a datos, y no que se basa en lógica o funciones. Por otra parte, se trata de un lenguaje interpretado debido a que su código se transforma en bytecode y es ejecutado directamente por un intérprete (la máquina virtual de Python). Por lo tanto, no requiere de una compilación previa a su ejecución.
Historia de Python
La historia de Python empezó a fines de la década de 1980. Por aquel entonces, el programador neerlandés Guido Van Rossum empezó a desarrollar un proyecto en el Centrum Wiskunde & Informatica de Ámsterdam a modo de entretenimiento en su tiempo libre. La iniciativa derivó, en 1991, en la presentación de Python.
Van Rossum escogió el nombre en homenaje a «Monty Python´s Flying Circus», un programa de humor que emitió la BBC. A tres años de esa primera versión (0.9.0) se produjo el lanzamiento de Python 1.0, con más funciones. Luego llegaron Python 2.x (a partir de 2000) y Python 3.x (en 2008). La actualización más reciente al día de la fecha es Python 3.12.2, disponible para descarga desde febrero de 2024.
El paso del tiempo permitió sumar diversas funciones a Python, que creció en flexibilidad y popularidad. Hoy se emplea para desarrollar software para computadoras, aplicaciones móviles y sitios web, por ejemplo.
Principales características
Como ya indicamos, Python es un lenguaje interpretado: la ejecución de su código fuente es directa, línea por línea. Dicha ejecución se detiene en un caso de un error de programación, lo que facilita la detección y el manejo de errores.
Así como es un lenguaje orientado a objetos, también brinda la posibilidad de recurrir a otras clases de programación, como la programación funcional y la programación estructurada. Es un lenguaje que se asemeja al humano, empleando términos similares a los que se usan en la lengua inglesa, una particularidad que le otorga simpleza.
Con sangrías en lugar de llaves y tipos de variables que se determinan de forma simultánea a la ejecución, Python es fácil de escribir y de aprender. Otro rasgo importante es que resulta multiplataforma: el mismo código puede utilizarse en distintos sistemas operativos (como macOS, Linux o Windows).
Lo habitual es que Python se use con frameworks (marcos de trabajo) como Flask, BeeWare, Kivy, TurboGears o Django. La elección de uno u otro suele asociarse a las necesidades de cada programador.
Aplicaciones de Python
Las aplicaciones de Python son variadas:
- Desarrollo de software: Se puede aprovechar para la creación automática de programas, juegos o aplicaciones de escritorio a través de bibliotecas de interfaz gráfica de usuario (GUI). También permite la administración de proyectos.
- Automatización de pruebas: PyUnit, Robot y Unittest son marcos de pruebas unitarias que posibilitan la comprobación de las funciones escritas. Pueden testearse características de los programas o la interfaz de usuario. Las herramientas de integración e implementación continuas (CI/CD), como Jenkins o Travis CI, sirven para la ejecución automática de scripts de prueba.
- Desarrollo web del lado del servidor: Se pueden establecer funciones de backend (como la comunicación de los sitios con bases de datos y la protección de la información que se envía vía Internet).
- Inteligencia artificial: Con Python se puede llevar a cabo data mining e impulsar el machine learning y el deep learning. Encontrar, extraer, corregir, borrar y visualizar datos son acciones que pueden concretarse.
- Scripting y automatización: La creación de secuencias de comandos para máquinas de todo tipo es otra posibilidad, contribuyendo al avance de la robótica.
Las bibliotecas
En el ámbito de la programación, las bibliotecas son colecciones de códigos que se emplean de manera frecuente y que pueden reutilizarse, con lo cual se elude la necesidad de iniciar la escritura del código desde cero. Si bien Python presenta una biblioteca estándar en su versión predeterminada, existen aproximadamente otras 140.000, como Pandas, Matplotlib, Keras, Requests, Scikit-learn, NumPy y Beautiful Soup.
Estas bibliotecas de Python incluyen códigos para la visualización de datos con distintos gráficos, la creación de matrices y el procesamiento de imágenes, por mencionar apenas algunas de las opciones.
La filosofía de Python
Se denomina filosofía de Python a los principios y preceptos que rigen el funcionamiento del lenguaje. Muchos de ellos fueron postulados por el desarrollador estadounidense Tim Peters en lo que se conoce como «El Zen de Python».
En Python, en este marco, se privilegia lo simple y lo explícito por sobre lo complejo y lo implícito. También se valoriza la practicidad y la legibilidad.
Además se destaca que, cuando es difícil brindar una explicación de una implementación, se trata de una mala idea. Por el contrario, es probable que una implementación que se explica con facilidad sea una buena idea.