Curso de Python
¿Qué es Python?

El lenguaje de programación Python

Bienvenido a nuestro curso completo de Python en español.

Comencemos nuestro recorrido en el aprendizaje de este bello lenguaje conociendo un poco acerca de su historia y algunos conceptos básicos.

Python

Historia, conceptos y áreas de aplicación

En la siguiente sección aprenderemos sobre la historia, conceptos y aplicaciones del lenguaje de programación Python en el mundo real.

Historia y orígenes

El lenguaje de programación Python fue desarrollado a principios de la década de 1990 por Guido van Rossum en Ámsterdam. Originalmente fue pensado como un lenguaje de scripting para el sistema operativo distribuido Amoeba.

👋

El nombre Python no se refiere a la familia de las serpientes, sino que es un tributo al grupo de comedia británico Monty Python.

Antes de Python, van Rossum había participado en el desarrollo del lenguaje de programación ABC, que se desarrolló con el objetivo de ser lo suficientemente simple como para enseñarlo fácilmente a una persona sin experiencia en programación. Van Rossum usó la experiencia obtenida de las críticas positivas y negativas de ABC para desarrollar Python. Así creó un lenguaje de programación que es poderoso y al mismo tiempo fácil de aprender.

Python

Con la versión 3.0, que se lanzó en diciembre de 2008, el lenguaje se revisó desde cero. El objetivo principal era modernizar el lenguaje y eliminar los primeros defectos de diseño que debían mantenerse en versiones anteriores debido a la compatibilidad con versiones anteriores. Con el final oficial del soporte de Python 2 a principios de 2020, la larga fase de transición entre las versiones 2 y 3 del lenguaje ha terminado.

Mientras tanto, Python se ha convertido en uno de los lenguajes de programación más populares y regularmente ocupa las primeras posiciones en los índices de popularidad de los lenguajes de programación.

En 2001, nació la Python Software Foundation sin fines de lucro, que posee los derechos del código Python y promueve Python. Por ejemplo, Python Software Foundation organiza la conferencia PyCon, que se lleva a cabo anualmente en Estados Unidos. Conferencias de Python más grandes y más pequeñas también se llevan a cabo regularmente en Europa.

Conceptos básicos

Básicamente, Python es un lenguaje de programación imperativo, que combina otros paradigmas de programación en él. Por ejemplo, Python te permite realizar programación funcional y orientada a objetos.

💡

Si no puedes entender estos términos en este momento, no te preocupe; después de todo, se supone que debes aprender a programar con Python y, por lo tanto, lo irás aprendiendo a lo largo de este curso.

Python es un lenguaje de programación interpretado. Al igual que Java o C#, Python tiene un compilador que lee el código fuente y genera una compilación, el llamado código de bytes. Este código de bytes luego se ejecuta en una máquina virtual, el intérprete de Python.

Otro concepto que Python tiene en común con Java, por ejemplo, es la independencia de la plataforma. Un programa de Python suele ser ejecutable sin modificaciones en todos los sistemas operativos compatibles con el intérprete de Python. Esto incluye en particular los tres principales sistemas operativos de escritorio: Windows, Linux y macOS.

Además del intérprete y el compilador, Python viene con una extensa biblioteca estándar. Esta biblioteca estándar permite al programador escribir programas concisos en poco tiempo que pueden realizar tareas muy complejas. Por ejemplo, Python ofrece amplias opciones para la comunicación en red o el almacenamiento de datos. Debido a que la biblioteca estándar enriquece significativamente las opciones de programación en Python.

Un inconveniente del lenguaje de programación ABC, que van Rossum quería eliminar en el desarrollo de Python, era su falta de flexibilidad. Por lo tanto, un concepto fundamental de Python es hacer que sea lo más fácil posible para el programador ampliar la biblioteca estándar según lo desee. Python, como lenguaje de programación interpretado, solo ofrece posibilidades limitadas para la programación de bajo nivel. Sin embargo, las partes del programa que son críticas en cuanto al tiempo o requieren acceso directo al hardware, pueden implementarse extensiones en C sin ningún problema. Esto es posible gracias a la API de Python.

El intérprete de Python ejecuta un programa de Python, lo que proporciona una biblioteca estándar extensa que puede ser utilizada por el programa. Además, la API de Python permite que un programa C externo use o amplíe el intérprete.

Como último concepto básico de Python, cabe mencionar que Python está sujeto a la Licencia PSF. Esta es una licencia para software de código abierto desarrollada por Python Software Foundation que es mucho menos restrictiva que, por ejemplo, la Licencia Pública General GNU. Por ejemplo, la licencia PSF permite que el intérprete de Python se incorpore y se envíe con las aplicaciones sin costo de licencia, sin tener que divulgar el código ni incurrir en tarifas de licencia. Esta política también hace que Python sea atractivo para aplicaciones comerciales.

Posibles áreas de uso y fortalezas

La mayor fortaleza de Python es su flexibilidad. Por ejemplo, Python se puede utilizar como lenguaje de programación para aplicaciones pequeñas y grandes, como lenguaje de programación del lado del servidor en Internet o como lenguaje de secuencias de comandos para una aplicación C o C++ más grande. Python también se está extendiendo fuera del mercado tradicional, como en el sector integrado. Por ejemplo, existen intérpretes de Python para varios sistemas de teléfonos inteligentes o tabletas o Raspberry Pi.

Python es fácil de aprender y leer debido a su sintaxis simple. Además, la gestión automática de la memoria y la amplia biblioteca estándar permiten a los programadores abordar problemas muy complejos con programas ligeros. Por esta razón, Python también es adecuado para la creación rápida de prototipos. Este tipo de desarrollo consiste en crear un prototipo ejecutable en el menor tiempo posible como una especie de estudio de viabilidad de un programa de software más grande, que luego se implementará en otro lenguaje de programación. Con la ayuda de un prototipo de este tipo, los problemas y errores de diseño pueden descubrirse incluso antes de que se inicie el desarrollo real del software.

Otro punto fuerte de Python es su extensibilidad, mencionada en la sección anterior. Debido a esta extensibilidad, los desarrolladores de Python pueden aprovechar un amplio conjunto de bibliotecas de terceros. Por ejemplo, hay conexiones a los kits de herramientas de interfaz gráfica de usuario (GUI) más comunes que permiten la creación de programas de Python con GUI.

En los últimos años, Python se ha convertido en el lenguaje de programación central en las aplicaciones emergentes de ciencia de datos e inteligencia artificial (IA). Python proporciona un ecosistema excelente para la computación científica, el análisis de datos y la visualización gracias a las bibliotecas NumPy, SciPy, Matplotlib y pandas. Además, scikit-learn, PyTorch, Keras y TensorFlow son grandes bibliotecas de Python para aprendizaje automático y aprendizaje profundo que han convertido a Python en el lenguaje de programación estándar en esta área.

Ejemplos de uso

Python es ampliamente conocido y utilizado tanto por empresas de software como entre científicos, así como en la comunidad de código abierto. Los productos escritos, al menos en parte, en Python van desde aplicaciones web (p. ej., Gmail, Google Maps, YouTube, Dropbox, Reddit) hasta herramientas de desarrollo (p. ej., Mercurial, SCons) y plataformas científicas para el aprendizaje automático (p. ej., scikit-learn, PyTorch , TensorFlow) y procesamiento del lenguaje humano (p. ej., NLTK).

Muchas aplicaciones establecidas admiten Python como lenguaje de scripting para extensiones. Los ejemplos incluyen la suite ofimática LibreOffice, así como las aplicaciones Maya, Blender, ParaView, Cinema 4D, PaintShop Pro y GIMP.

Existe una interfaz de Python para la computadora de placa única Raspberry Pi e incluso se recomienda Python como lenguaje de programación.

Además de las mencionadas, existen innumerables otras aplicaciones conocidas que se escribieron en Python o en cuyo entorno se usa Python. De los ejemplos presentados hasta ahora, puedes ver que Python es un lenguaje de programación popular, ampliamente utilizado y moderno que vale la pena aprender.