Este libro se puede descargar gratuitamente desde la página de la UJI, está distribuido bajo una licencia Creative Commons. Conviene aclarar esto porque cualquiera puede obtener este libro de forma gratuita desde la fuente original.
Lo que más me ha sorprendido de este libro es lo didáctico que es; se enseña a programar en Python sin necesidad de saber previamente nada sobre programación; el nivel que alcanza no es elevado, pero sí lo suficiente como para que las bases de la programación queden bastante claras.
En cuanto a la programación orientada a objetos, tiene nada más una introducción, en el penúltimo capítulo: cómo se crean las clases, los atributos y los métodos en Python; y también como asignar y obtener valores. La parte básica de este paradigma, vaya.
Para quienes no tienen soltura programando es tremendamente útil, porque en sus páginas se pueden encontrar más de 400 ejercicios propuestos, que van de menor a mayor nivel de complejidad, según se vaya avanzando en el temario. Hay que tener en cuenta que este libro se ofrece a los alumnos de ingeniería informática de la UJI, por lo que todos los problemas propuestos guardan relación con el mundo de las matemáticas o la física. No obstante, teniendo una base, se pueden encontrar algoritmos que resuelvan dichos problemas; y si hay alguna cosa demasiado específica en el propio problema se explica cómo hacerlo «a mano» (para después poder programarlo) o si simplemente hay que aplicar una función nos la da (aunque estos datos se podrían conseguir fácilmente buscando en internet).
Podría decirse que este libro usa Python como pretexto para asentar las bases de la programación; si ya tienes esas bases pero sólo quieres saber ponerlas en práctica en un nuevo lenguaje (Python) quizá se expliquen demasiadas cosas que ya sabes y el proceso se haga más lento de lo necesario.