Python a fondo

Autor: Óscar Ramírez Jiménez
Título: Python a fondo.
Subtítulo: Domine el lenguaje del presente y del futuro.
Editorial: Marcombo
Año: 2021
nº páginas: 648
Tiempo estimado de lectura: 60 días
Análisis Resumen del libro Python a fondo
Este libro pretende mostrar cómo es el desarrollo de aplicaciones web utilizando uno de los framework web más utilizados en Python, Flask.
Flask es un microframework que su principal virtud es que se puede componer de diferentes extensiones para completar cualquier funcionalidad requerida, pero no da por sentado que ninguna funcionalidad deba de estar incluida por defecto.
Este libro es considerado uno de los mejores libros para aprender de forma práctica todos los aspectos del framework y que sirva como un primer contacto en profundidad.
Entrevistas sobre Python a fondo
En la siguiente entrevista, el autor (Oscar Ramírez), junto con el Director general de la editorial Marcombo (Jeroni) y el asesor técnico Ferran Fàbregas, presentan el libro, la motivación y muchos otros aspectos muy interesantes.
En la siguiente entrevista hecha con AulaMagna, el autor explica la actual situación de Python y por qué es el lenguaje del presente y del futuro
Índice y contenido de Python a fondo
Pepitas de conocimiento a conocer de Python a fondo
En el libro se pueden encontrar pepitas de conocimiento para desarrolladores de todos los niveles. El libro es muy extenso en contenido pero en cada página se aprenden nuevos conceptos constantemente.
Cada capítulo empieza desde un nivel intermedio-bajo pero rápidamente avanza en el contenido hasta terminar explicando conceptos muy avanzados que sorprenderán a cualquier programador avanzado.
Por separar algunos conceptos, a continuación se pueden ver conceptos relevantes para cada nivel y qué podrá aprender cada desarrollador con este libro según su nivel.
Contenido de libro Python para Principiantes
El libro explica ampliamente todos los conceptos fundamentales de Python con especial análisis de:
- Historia y versiones de Python: explicación de los orígenes, cambios y trayectoria de Python. Además se explica cómo evoluciona el lenguaje usando las PEPs.
- Primeros pasos en Python: instalar el intérprete, presentación de las distribuciones de Python, manejo de entornos virtuales y los diferentes intérpretes interactivos disponibles (python, ipython, bpython, ptpython y online).
- Características de Python: es un lenguaje interpretado, fuertemente tipado y de tipado dinámico. En el libro se explican las diferencias y los significados de cada característica comparando con otros lenguajes y tipos.
- Implementaciones disponibles: se explican las diferentes implementaciones de Python disponibles (CPython, Jython, PyPy y IronPython).
- Estructura del intérprete: se presenta el intérprete y se estudian sus diferentes partes para comprender mejor cómo se ejecuta el código en Python.
- Entornos de desarrollo y editores de texto para Python: se hace una amplia exploración de cada IDE (entorno de desarrollo) y editores disponibles para programar en Python, explicando cómo instalarlos, los pros y contras y para qué público están orientados.
- Creación de scripts en Python: se explica cómo escribir y ejecutar scripts en todas las plataformas.

Contenido de libro Python para nivel Intermedio
- Explicación de tipos de datos y variables: se presentan los tipos de datos, métodos disponibles, diferencias entre tipos, mutabilidad de variables, etc. Con muchísimos ejemplos de cada tipo para comprenderlos en profundidad.
- Programación básica con Python: estudia en profundidad los tipos de datos por defecto, la creación de funciones, argumentos, se estudian en profundidad funciones, argumentos, tipos de argumentos, iteradores, decoradores, contextos, etc.
- Programación orientada a objetos: explica en profundidad cómo hacer la programación orientada a objetos en Python con conceptos como clases propias, atributos, métodos, herencia simple, herencia múltiple, resolución de herencias, sobreescritura de métodos y un largo etcétera.
- Programación funcional: muestra conceptos de programación funcional presentes en Python como las funciones de orden superior, la recursión o las funciones lambda.
- Estructura y creación de paquetes: explicación de cómo componer proyectos correctamente jerarquizados en Python y de cómo crear paquetes para ser publicados en Pypi.
- Revisión de TODOS los paquetes de la librería estándar disponibles: se nombran y explican brevemente todos y cada uno de los paquetes disponibles de la librería estándar para conocer el potencial de Python sin usar paquetes externos.

Contenido de libro Python para nivel Avanzado
- Manipulación de datos en diferentes formatos: se explica cómo hacer manipulaciones de datos con Python en ficheros. Tanto en texto plano, con formato tabulado (CSV, TSV, HTML, YAML, JSON, etc), como de ancho fijo. Explicando diferentes librerías para usarlos.
- Serialización, archivado y compresión de ficheros: se muestra cómo manipular la serialización de objetos (pickle), compresión y archivado de ficheros en Python.
- Bases de datos y Python: describe las diferentes bases de datos (SQL y noSQL) disponibles en el mercado, diferencias y comparaciones entre ellas y cómo se puede interactuar con ellas desde Python.
- ORMs y ODMs en Python: muestra los diferentes ORMs (relacionales) disponibles para Python, con ejemplos prácticos y diferentes formas de interactuar con bases de datos noSQL.
- Concurrencia en Python y cómo gestionar el GIL: se explican las diferentes técnicas de concurrencia (threading, multiprocessing y async) disponibles en Python haciendo un estudio pormenorizado de pros y contras con ejemplos.
- Interfaces de usuario y tkinter en Python: se explican los diferentes tipos interfaces de usuario disponibles en Python y se entra en profundidad en la creación de aplicaciones con interfaz tkinter (con ejemplo práctico).
- Tecnologías de internet: se explican la mayoría de protocolos más utilizados en Python (con ejemplos de cada uno) como pueden ser http/s, ftp, smtp (email), ssh, telnet, etc.
- Programación web: se explican las diferentes partes de la programación web, estructuras de servidores y aplicaciones python, y se hace un ejemplo paso a paso de la creación de una aplicación en Django mostrando django admin, templates, modelos de django, ORM de django y mucho más.
- Testeo y cobertura en Python: en el anexo al libro, se añaden recursos para testear y conocer la cobertura de aplicaciones en Python.

Ejemplos de Python en todo el libro
El libro cuenta con una gran cantidad de ejemplos repartidos por todo el libro, permitiendo afianzar los conceptos que se explican.
Adicionalmente, todo el código está en el repositorio de código: https://github.com/Marcombo/python-a-fondo
Sobre el autor de Python a fondo
El autor de Python a fondo es Óscar Ramírez Jiménez (elpythonista y autor de esta web).

Es ingeniero técnico e ingeniero en Informática por la universidad de Málaga, lleva trabajando en desarrollo de software profesional desde 2013 en diferentes empresas de renombre internacional.
Óscar ha dado charlas en diferentes conferencias como en la semana cultural de la Universidad de Málaga, Codemotion17 o PyConEs17 hablando sobre robótica, ingeniería informática y aplicaciones web en tiempo real.
Es un gran amante del desarrollo y el software libre y también ha contribuido en proyectos de software libre a nivel internacional como en Apertium (Google SOC) o en Django.
Dónde comprar y descargar el libro Python a fondo
Actualmente el libro se encuentra disponible en preventa en la página oficial de la editorial Marcombo. La fecha oficial del lanzamiento es el día 15 de febrero de 2021.
¡Pero muy pronto estará disponible en diferentes canales para la venta en libro físico como en ebook como Amazon, La Casa del Libro, Fnac, Gandía, etc. Tanto en España como en Latinoamérica!