Ultimate Python: de cero a experto, de Nicolas Schurmann
Para aprender un lenguaje de programación como Python, puedes recurrir a diferente tipos de recursos. Por ejemplo, cursos online, videos en YouTube, blogs como este o libros. En este post nos vamos a centrar exclusivamente en los libros. Concretamente, vas a descubrir los que para mí son los mejores libros en español para aprender Python. He agrupado mi selección de diez libros en tres niveles de conocimiento: principiante, intermedio y avanzado para que puedas basar tu elección en función de tu nivel actual.
Antes de entrar en materia, aclarar que los enlaces de compra de esta página son de afiliación. Es decir, si compras alguno de los libros a través de mis enlaces a ti te costará lo mismo, y yo me llevaré una pequeña comisión con la que me ayudarás a financiar los costes de mantenimiento de este blog.
¿Qué tener en cuenta antes de comprar un libro para aprender Python?
Antes de adentrarnos en la lista de libros, veamos las preguntas que considero que uno se tiene que hacer antes de comprar un libro de programación para poder sacarle el máximo provecho:
- ¿Qué quiero aprender con el libro? Si tienes claro el objetivo de lo que quieres aprender, la elección te va a resultar mucho más sencilla ya que vas a filtrar todos los libros que no sean de esa temática. Por ejemplo, si ya sabes algo de Python y lo único que quieres es aprender Machine Learning, sólo te centrarás en libros que traten sobre este tema.
- ¿Se trata de la versión original o de una traducción? Si el autor escribió el libro en español no hay ningún inconveniente. Pero si se trata de una traducción y hablas inglés te recomiendo hacerte con la versión original. El motivo es que los traductores de los libros no son personas con conocimientos de programación. Esto puede dificultar la comprensión, ya que no siempre se refleja exactamente lo que quiere decir el autor. Aparte, en inglés vas a encontrar un abanico de opciones más amplio.
- ¿Cuán actualizado está el contenido? Como ya sabrás, el mundo del software avanza muy rápido. Cada cierto tiempo, librerías y frameworks sacan nuevas versiones que introducen cambios sustanciales en su manera de utilizarse. Además, lenguajes de programación como Python se van actualizando con nuevas funcionalidades. Esto puede dificultar el aprendizaje si no utilizas un material de referencia actualizado. Por ejemplo, a día de hoy Python 3 está muy establecido y no sería recomendable aprender con un libro antiguo de Python 2.
- ¿Contiene ejercicios prácticos? Por más libros de programación que leas, a programar se aprende programando. Obviamente está bien apoyar el aprendizaje en libros, pero para consolidar bien los conocimientos necesitas practicar. Por ello siempre será mejor que el libro se apoye de ejercicios para que puedas ver y practicar por ti mismo lo que enseña el autor.
Nivel Principiante
Si no tienes ningún tipo de experiencia programando, estos libros son ideales para que puedas sentar las bases y empezar a dar tus primeros pasos con Python.
Ultimate Python: de cero a experto
Autor: Nicolas Schurmann
El autor de este libro es el programador del canal de YouTube “Hola Mundo”. Se trata de un libro enfocado a personas que no tienen experiencia programando. En total consta de diez capítulos y más de 500 páginas. Con él aprenderás tanto la instalación de las herramientas necesarias para programar en Python, como la ejecución del código; los tipos básicos; el control de flujo; el manejo de funciones; los tipos avanzados (listas, tuplas, sets, diccionarios); la programación orientada a objetos; entre otros temas. El libro incluye muchas imágenes que mejoran la comprensión y ejercicios prácticos que refuerzan los conocimientos adquiridos. El mismo autor también tiene un curso en Udemy basado en los contenidos del libro, que puedes adquirir en este enlace, al que le añade conceptos como bases de datos con SQLite, desarrollo web con Django y algunas pinceladas de machine learning.
Python 3. Curso Práctico
Autor: Alberto Cuevas Álvarez
El lector ideal de este libro es una persona que se inicia en la programación, tanto si ya tiene algún conocimiento como si empieza de cero. Su contenido es bueno y extenso (abarca las 560 páginas), con unas explicaciones claras, detalladas y minuciosas, un aspecto que puede que agradezcas o te parezca excesivo. También se trata de un libro muy práctico ya que incluye más de 150 ejercicios y ejemplos explicados paso a paso. El autor presenta los fundamentos de Python y su filosofía, e incluye conceptos de programación orientada a objetos. Además, va un paso más allá y también te introduce dos librerías del ecosistema Python como son PyQt y Matplotlib. La primera enfocada al desarrollo de aplicaciones gráficas de escritorio, y la segunda a la generación de gráficos. Por tanto, a pesar de ser un libro que considero de nivel principiante, una vez lo hayas terminado tendrás un nivel de conocimientos intermedio.
Python 3 – Los fundamentos del lenguaje
Autor: Sébastien Chazallet
Este es un libro muy completo y extenso que abarca 700 páginas de contenido y que ya va por su cuarta edición. El autor lo ha enfocado como una obra de referencia para profesionales de la informática, ya sean estudiantes, ingenieros o maestros. Pero este libro también es ideal para ti si eres alguien autodidacta que quiere masterizar desde cero tanto Python como distintas áreas en las que se aplica, como las aplicaciones web, las aplicaciones GUI y los juegos. Además, el libro se complementa con scripts y ejemplos descargables de la web que puedes probar y modificar para reforzar el aprendizaje.
El libro consta de cinco partes que son las siguientes:
- En la primera parte se detallan las posibilidades que ofrece Python.
- La segunda parte es una guía de conceptos básicos que se tratan más adelante, pensada para principiantes ya sea en Python o en el desarrollo en general.
- La tercera parte aborda los fundamentos de Python.
- La cuarta parte trata sobre funcionalidades de Python como son la manipulación de bases de datos o de archivos.
- Y finalmente, la quinta parte contiene varios proyectos para poner en práctica lo aprendido a lo largo del libro.
Nivel Intermedio
Estos libros están enfocados para lectores que no sólo quieren aprender Python sino que además buscan un conocimiento más profundo sobre este lenguaje de programación.
Python Para Todos: Explorando Datos en Python 3
Autor: Charles Severance
Este libro está escrito por el Prof. Charles Severance de la Universidad de Michigan, el cuál es conocido por haber creado una de las especializaciones más populares en la plataforma de cursos Coursera, cuyo nombre coincide con el título del libro. Este es un libro claro y completo; ideal para iniciarse en Python, ya que asume que el lector parte sin conocimientos del mismo. Sin embargo, a diferencia de otros libros de iniciación, no explica cómo instalar Python en nuestro ordenador. Para ello el autor referencia a su web dónde comparte recursos sobre cómo hacerlo tanto para macOS como Windows. A medida que el libro avanza se van presentando técnicas enfocadas sobre todo a la exploración y el análisis de datos. Por tanto, se trata de un libro que puede complementar a otras obras. Además, la web es.py4e.com contiene versiones gratuitas del libro en varios formatos electrónicos así como otros materiales de soporte.
Curso de Programación Python
Autores: Arturo Montejo Ráez y Salud María Jiménez Zafra
Este es un libro claro, detallado y bien estructurado. Trata tanto conceptos simples como la introducción a la programación, o los fundamentos del lenguaje, entre los que puedes encontrar las variables, las cadenas y estructuras de datos como las listas, las tuplas y los diccionarios; hasta conceptos más avanzados como la programación orientada a objetos, el control de errores y las pruebas de código. Los primeros capítulos son fáciles de entender, pero cuando los autores empiezan a introducir conceptos más avanzados, como las expresiones regulares, las explicaciones presuponen ciertas nociones que no se han explicado previamente y esto dificulta el avance. Otro punto a mejorar del libro son las capturas de pantalla y los ejemplos de código que están en un tamaño pequeño que no facilita su lectura. Si pasamos por alto estos detalles, se trata de un libro perfecto tanto para principiantes como para personas que ya saben algo de programación.
Curso Intensivo de Python
Autor: Eric Matthes
Este libro es la versión en español de un libro muy popular en la comunidad de Python de habla inglesa. Cabe destacar que la traducción está muy cuidada y ha sabido mantener la esencia original del autor, cuyas explicaciones son muy claras y fáciles de comprender. El libro consta de dos partes. En la primera se introducen conceptos teóricos básicos como variables, listas, diccionarios, clases, bucles, entre otros. Todos ellos acompañados con códigos de ejemplo comentados y ejercicios prácticos. Además, el autor también te explica cómo puedes testear tu código y reglas de refactorización para que tu código sea más eficiente. La segunda mitad del libro es la parte práctica y está enfocada al desarrollo de tres proyectos: i) un videojuego arcade similar a Space Invaders; ii) la visualización de datos con las librerías Matplotlib y Plotly; y iii) el desarrollo de una aplicación web con Django. Así pues, se trata de un libro muy completo, de cuyo aprendizaje orientado a proyectos puedes beneficiarte incluso si ya sabes algo de Python.
Nivel Avanzado
Los libros de esta sección son para ti si ya tienes unos mínimos conocimientos de Python y quieres seguir profundizando en algún campo concreto como por ejemplo el desarrollo de aplicaciones gráficas de escritorio o el aprendizaje automático.
Python a Fondo
Autor: Oscar Ramírez Jiménez
Python a Fondo es un libro que da por sentados algunos conceptos básicos de programación y que por tanto requiere de una mínima base de conocimientos para empezar con él. Sin embargo, si ya tienes esa experiencia se trata de un libro de fácil lectura, bien estructurado y completo. Sin ir más lejos, está actualizado a las últimas novedades de Python 3.10. El libro trata desde temas básicos, como la historia de Python, a temas más avanzados, como la manipulación de bases de datos, la concurrencia, las interfaces gráficas de usuario y las aplicaciones web. A diferencia de otros libros no incluye proyectos, pero todos los temas se complementan con ejemplos de código disponibles en este repositorio de GitHub. Por ponerle alguna pega quizás le faltaría un índice alfabético para poder realizar búsquedas rápidas sobre temas concretos, porque estamos sin duda ante una gran obra de referencia.
Aplicaciones Gráficas con Python 3
Autor: Alberto Cuevas Álvarez
El tema principal del libro, el desarrollo de aplicaciones gráficas, se aborda empleando tres librerías distintas: i) PyQt la cual permite usar la biblioteca Qt en Python, ii) matplotlib para la generación de gráficas en 2D y 3D, y iii) NumPy para el cálculo numérico. Sin embargo, el autor asume que ya conoces Python 3, de hecho es el mismo que el de Python 3. Curso Práctico, un libro que también se ha analizado en este artículo. El autor incluye junto a las explicaciones más de 100 ejemplos prácticos, aunque la letra de los códigos de ejemplo es algo pequeña y puede que no te resulte fácil de distinguir. Una vez se han introducido las tres librerías por separado, el libro sigue con el desarrollo de 17 aplicaciones de relativa dificultad. Además, la web de la editorial contiene material adicional descargable con las soluciones de los ejercicios planteados en el libro.
Aprende Machine Learning en Español
Autor: Juan Ignacio Bagnato
Este libro que considero de nivel avanzado es en realidad un libro de introducción al machine learning para personas que ya tengan buenos conocimientos de Python. Contiene todos los temas necesarios para poder abordar un proyecto de machine learning: regresión lineal, regresión logística, random forests, redes neuronales, redes neuronales convolucionales, entre otros. Todo ello usando librerías muy conocidas como Pandas, Scikit-Learn, TensorFlow y Keras. Los ejemplos de código son buenos y están accesibles en el blog del autor, ya que de hecho el contenido son los artículos del autor trasladados a papel. Esto provoca algunos inconvenientes, por ejemplo, que se mencionen los puntos azul y rojo de una gráfica cuando en realidad el libro está impreso en negro y gris, o que la resolución de algunas imágenes no sea muy óptima. A pesar de ello, es un buen libro si lo que estás buscando es una obra para iniciarte en el machine learning.
Aprende Machine Learning con Scikit-Learn, Keras y TensorFlow
Autor: Aurélien Géron
Este libro es ideal para iniciarse en el machine learning o tenerlo como manual de consulta sobre la temática. El autor asume que no tienes conocimientos de machine learning, pero es recomendable que tengas mínimas nociones de Python y de las librerías NumPy y Pandas. Un inconveniente que tiene es que los gráficos no son a color, cosa que no facilita su comprensión. Sin embargo, el contenido del libro es bueno y consta de dos partes. La primera introduce los fundamentos del machine learning y la segunda está dedicada a redes neuronales artificiales y deep learning, donde el autor introduce arquitecturas muy utilizadas como son las redes convolucionales y las redes recurrentes. El enfoque del libro consiste en dar la teoría justa y necesaria, la cual se acompaña de numerosos ejemplos prácticos y ejercicios para acabar de consolidar conceptos. Las soluciones de dichos ejercicios las tienes disponibles en este repositorio de GitHub en formato de Jupyter Notebooks.
Conclusión
En este artículo hemos visto tanto las consideraciones previas que podemos realizar para sacar el máximo provecho a cualquier libro que compremos para aprender Python, así como una selección de los diez mejores ejemplares que existen en español. Estoy seguro que sobre esta materia hay muchos más libros que se podrían haber incluido. Es por ello que te pido que si conoces algún otro libro que consideras realmente bueno, me lo hagas saber en la sección de comentarios. Estaré encantado de leerte.
Muy buen trabajo
Gracias Gibran.
Muchas gracias, muy buen trabajo.
De nada Stalyn, un placer!
Muchas Gracias, muy útil tu aporte…
De nada Dairo, me alegra que te haya ayudado 🙂