Python/Introducción/Información general

Python es un lenguaje de alto nivel, estructurado y de código abierto que se puede usar para programar prácticamente cualquier tipo de aplicación.

El lenguaje fue creado originalmente por Guido Van Rossum a principios de los 90. Su popularidad ha crecido ininterrumpidamente durante los últimos años. Su nombre es un homenaje al programa de televisión Monty Python's Flying Circus.

Python se considera un lenguaje ideal para enseñar a programar por las similitudes de su sintaxis con el inglés. Se utiliza ampliamente tanto para automatizar pequeñas tareas mediante scripts como para desarrollar aplicaciones web utilizadas por millones de usuarios. Google, por ejemplo, utiliza Python para implementar partes de sus sistemas.

Python es un lenguaje interpretado que se compila automáticamente a bytecode antes de ejecutarse. El bytecode se suele almacenar temporalmente en el disco duro para no tener que recompilar el código la siguiente vez que se necesite ejecutar. El lenguaje tiene tipado dinámico e incorpora muchas características de la programación orientada a objetos y funcional.

Uno de los aspectos que diferencia Python de lenguajes anteriores que utiliza saltos de línea y espacios o tabuladores para delimitar bloques de código en vez de llaves, paréntesis o palabras como BEGIN and END.

El siguiente código puede escribirse en un terminal de Python para mostrar el típico mensaje "¡Hola mundo!" en pantalla.

print('¡Hola mundo!')

En la web oficial de Python tenemos un terminal online que podemos usar para probar la mayoría de ejemplos de este libro sin necesidad de instalar ningún software: https://www.python.org/shell/. Si esperamos a que cargue la página y escribimos el ejemplo anterior obtendremos

Python 3.9.5 (default, May 27 2021, 19:45:35) 
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print('¡Hola mundo!')
¡Hola mundo!
>>>

Otra característica de Python es que es un lenguaje multiplataforma: el mismo código puede ejecutarse en Windows, Mac, Linux y casi todos los demás sistemas operativos. También proporciona un extensa colección de tipos de datos (como cadenas, listas o diccionarios) y cientos módulos para facilitar las tareas más comunes de los programadores como expresiones regulares o comunicación TCP/IP. En este libro se cubren todos los tipos de datos y algunos de los módulos más importantes.

Para una introducción más amplia a los orígenes, historia y filosofía de Python se puede consultar la entrada en Wikipedia del lenguaje aunque todo lo necesario para aprender los conceptos básicos se presentará en este libro.

Python 2 y Python 3
editar

Cuando se diseñó la versión 3 de Python sus desarrolladores decidieron cambiar algunas características del lenguaje que a su juicio podían mejorarse. Esto ocasionó que Python 3, aunque su sintaxis es prácticamente idéntica, fuera incompatible con Python 2 en algunos aspectos. Por ejemplo print pasó a ser una función en Python 3 y por tanto el código Python 2 que usa print sin paréntesis no funciona en las últimas versiones.

Durante años la versiones 2 y 3 de Python convivieron por lo que en internet hay una ingente cantidad de información sobre Python 2 que puede inducir a error al estudiante. En este libro nos vamos a centrar en Python 3 ya que es la única versión con soporte desde 2020. En algunos momentos se hablará de ciertas diferencias históricas entre Python 2 y 3 por si el lector encontrara algún código antiguo.