Ejemplo práctico de uso del desarrollo guiado por pruebas
APÉNDICE A - DESCRIPCIÓN DE LOS COMANDOS UNIX-LIKE UTILIZADOS EN EL LIBRO
APÉNDICE B - PRINCIPALES PUNTOS DE ROTURA ENTRE PYTHON 2 Y PYTHON 3
Incompatibilidades entre las dos versiones
Migración automática de Python 2 a Python 3
APÉNDICE C - EL BUFFERING DE LOS ARCHIVOS
Introducción
Python es un lenguaje de programación multiplataforma, consistente y maduro, en el cual confían con éxito las empresas y organizaciones más prestigiosas a nivel mundial, como Google, YouTube, Intel, Yahoo! y la NASA. Son múltiples los campos en los que se utiliza: aplicaciones web, juegos y multimedia, interficies gráficas, networking, aplicaciones científicas, inteligencia artificial, programación de sistemas, entre muchos otros.
El objetivo de este libro es enseñar a programar con Python en el modo correcto (The Pythonic Way). El tema central es, por tanto, el lenguaje, en todos sus aspectos, que se aborda detalladamente tanto desde el punto de vista teórico como práctico.
El libro está actualizado a la versión 3.4 de Python, lanzada en el año 2014.
A quién va dirigido
El libro va dirigido tanto a aquellos que quieren empezar a programar con Python como a los que ya conocen el lenguaje y desean profundizar en los argumentos más avanzados, como los decoradores, las metaclases y los descriptores.
La lectura será probablemente más entretenida para aquellos que tienen experiencia en programación, pero el libro es accesible a todos, puesto que nada se da por sabido. De hecho, se parte del estudio de las bases del lenguaje hasta llegar, siguiendo un recorrido gradual elaborado en torno a una amplia serie de ejemplos y ejercicios, a los argumentos más avanzados.
Este libro no es solo una guía de Python, sino también un manual de programación, puesto que se tratan numerosos temas de carácter general, como la aritmética del ordenador y las problemáticas relacionadas con ella, el estándar Unicode y el desarrollo guiado por pruebas.
Contenido del libro
El libro está formado por seis capítulos y tres apéndices. El primero es un resumen de todo el libro, puesto que presenta, de forma gradual, múltiples temas, como los objetos integrados, los módulos, los archivos, las funciones, las clases y las librerías estándar. Al final de este capítulo, el lector ya debería ser productivo y ser capaz de desarrollar programas Python importantes y con sentido.
Del segundo al quinto capítulo se profundiza y se integran todos los argumentos estudiados en el primero: el segundo capítulo se centra en el core data-type; el tercero, en las funciones, los generadores y los archivos; el cuarto, en los módulos, la instalación y la distribución de las aplicaciones, y el quinto, en la programación orientada a objetos.
El sexto capítulo está dedicado a los argumentos más avanzados: modelo a objetos de Python, metaclases, atributos mágicos, descriptores y desarrollo guiado por pruebas. Estos temas se tratarán de forma gradual y, al mismo tiempo, de manera detallada. En este libro no existe ningún capítulo dedicado exclusivamente a las librerías estándar, puesto que este tema es tan amplio que sería necesario otro libro para tratarlo de manera completa. Hemos preferido seguir un enfoque práctico, tratando distintos módulos de interés en cada momento, cuando se presenta la ocasión. Esto permite tanto realizar prácticas con los módulos más utilizados como familiarizarse con la documentación online.
Al final de cada capítulo se incluye un ejercicio final, con el objetivo no