¿Qué significa hablar Python con fluidez?
Recomendaciones relacionadas: Curso básico de Python
Público objetivo:
Programadores que estén usando Python y quieran familiarizarse con Python 3.
Tema:
Parte 1:
La primera parte tiene solo un capítulo, que explica el modelo de datos de Python y cómo usar métodos especiales (como __repr__) para asegurar la coherencia del comportamiento. Después de todo, Python es famoso por su coherencia. De hecho, casi todo el libro trata sobre el modelo de datos de Python y el Capítulo 1 es una descripción general.
Parte 2:
La parte 2 contiene varios tipos de colecciones: secuencias, mapas y conjuntos, y también menciona la diferencia entre cadenas (str) y secuencias de bytes (bytes). Hablando de eso, este último punto también es clave para hacer que los familiares (usuarios de Python 3) sean más rápidos y los enemigos (usuarios de Python 2) dolorosos, porque esta distinción dificulta la migración del código de Python 2 a Python 3. El objetivo de la Parte II es ayudar a los lectores a recordar las bibliotecas de clases integradas de Python y explicar algunos de los aspectos menos intuitivos de estas bibliotecas. Ejemplos específicos son cómo Python 3 reordena las claves de dictado en lugares que no podemos observar, o a qué debemos prestar atención al ordenar cadenas con dependencias regionales. Para lograr el propósito de esta parte, las explicaciones en algunos lugares serán más amplias y completas, como la mutación del tipo de secuencia y el tipo de mapeo, a veces se escribirán con más profundidad, por ejemplo, discutiré el hash; tabla en la parte inferior de la configuración de dict y profundidad.
Parte 3:
La parte 3 primero explicará cómo usar una función como un objeto de primer orden, y luego el tema se extenderá al impacto de este concepto en aquellos ampliamente utilizados. modelos de diseño. Finalmente, el lector verá cómo utilizar el concepto de cierres para implementar una función decoradora. Los temas de esta sección también incluyen estos conceptos básicos de Python: capacidad de llamada, atributos de funciones, introspección, anotaciones de parámetros y las nuevas declaraciones no locales en Python 3.
Parte 4:
Aquí, el enfoque del libro se desplaza hacia la construcción de clases. Aunque el ejemplo de la Parte 2 tiene una declaración de clase, la Parte 4 tendrá muchas más clases. Como cualquier lenguaje orientado a objetos, Python tiene sus propias características que pueden no aparecer en los lenguajes de programación basados en clases que usted y yo aprendemos. Los capítulos de esta parte explican cómo funcionan las referencias, el concepto de mutabilidad, el ciclo de vida de las instancias, cómo crear tipos de colección personalizados y ABC, cómo suavizar la herencia múltiple, cuándo utilizar la sobrecarga de operadores y sus métodos.
Parte 5:
Algunas estructuras y bibliotecas en Python ya no están satisfechas con procesos de control secuencial como juicios condicionales, bucles, subrutinas, etc. La Parte 5 se centrará en presentar estas estructuras. y bibliotecas. Comenzaremos con los generadores y luego el tema pasará a los administradores de contexto y las corrutinas, que cubrirán nuevos beneficios sintácticos poderosos pero no fáciles de entender. Esta parte termina con concurrencia y E/S orientada a eventos, donde el nuevo paquete collections.futures está relacionado con la concurrencia, que encapsula los conceptos de subprocesos y procesos con la ayuda del paquete futuros. Relacionado con la E/S orientada a eventos está asyncio, detrás del cual se encuentran paquetes de futuros basados en sinergia y rendimiento.
Parte 6:
Al comienzo de la Parte 6, discutiremos cómo crear dinámicamente clases con propiedades para manejar datos semiestructurados como JSON. Luego comenzaremos con el mecanismo de propiedades familiar, usando descriptores para explicar el acceso a las propiedades de los objetos de Python desde abajo hacia arriba. Al mismo tiempo, también se aclarará la relación entre funciones, métodos y descriptores. En el Capítulo 6, implementaremos un validador de campos de principio a fin. En este proceso, encontraremos algunos problemas sutiles y luego, en el último capítulo, naturalmente introduciremos conceptos avanzados como decoradores de clases y metaclases.