Descripción:
Python es un lenguaje de programación dinámico que se usa en una amplia gama de dominios gracias a su naturaleza simple pero poderosa. Aunque escribir código Python es fácil, hacer que sea legible, reutilizable y fácil de mantener es un desafío. Completo con las mejores prácticas, herramientas útiles y estándares implementados por desarrolladores profesionales de Python, este curso lo ayudará a superar este desafío. El curso comenzará llevándote a través de las nuevas funciones en Python 3.7. Luego aprenderá los componentes avanzados de la sintaxis de Python, además de comprender cómo aplicar conceptos de varios paradigmas de programación, incluida la programación orientada a objetos, la programación funcional y la programación dirigida por eventos. Este curso también lo guiará a través del aprendizaje de las mejores prácticas de nomenclatura, escribiendo sus propios paquetes Python distribuibles y actualizándose con formas automatizadas de implementar su software en servidores remotos. Descubrirá cómo crear extensiones útiles de Python.
Objetivo:
El alumno aprenderá a crear código manejable que se ejecute en varios entornos con diferentes conjuntos de dependencias. Implementará estructuras de datos y algoritmos de Python efectivos para crear código optimizado. Descubrirá las nuevas características de Python 3.8..Al final del Curso de Desarrollo profesional con Python, el alumno se habrá convertido en un experto en escribir código Python eficiente y fácil de mantener.
Temario:
Parte 1. Estado actual de Python
¿Dónde estamos ahora y hacia dónde vamos? El | Por qué y cómo cambia Python | Estar actualizado con los cambios siguiendo los documentos PEP | Adopción de Python 3 | Las principales diferencias entre Python 3 y Python 2 | No solo CPython | Recursos útiles
Parte 2. Entornos modernos de desarrollo de Python
Instalación de paquetes adicionales de Python usando pip | Aislamiento del entorno de tiempo de ejecución | Venv de Python | Aislamiento del entorno a nivel del sistema | Herramientas populares de productividad
Parte 3. Elementos de sintaxis modernos: debajo del nivel de clase
Tipos incorporados de Python | Tipos de datos suplementarios y contenedores | Sintaxis avanzada | Características de estilo funcional de Python | Función y anotaciones variables | Otros elementos de sintaxis que quizás aún no conozca
Parte 4. Elementos de sintaxis modernos: por encima del nivel de clase
Los protocolos del lenguaje Python: métodos y atributos dunder | Reducción de repeticiones con clases de datos | Subclases de tipos incorporados | MRO y métodos de acceso desde superclases | Patrones avanzados de acceso a atributos
Parte 5. Elegir buenos nombres
PEP 8 y nombrando mejores prácticas | Nombramiento de estilos | La guía de nombres | Mejores prácticas para argumentos | Nombres de clase | Nombres de módulos y paquetes | Herramientas utiles
Parte 6. Escribir un paquete
Creando un paquete | Paquetes de espacio de nombres | Subiendo un paquete | Ejecutables independientes
Parte 7. Despliegue del Código
La aplicación de los doce factores | Diversos enfoques para la automatización de despliegue | Su propio paquete de índice o índice espejo | Convenciones y prácticas comunes | Instrumentación de código y monitoreo
Parte 8. Extensiones de Python en otros idiomas
Diferenciar entre los lenguajes C y C ++ | La necesidad de usar extensiones | Escribir extensiones | Desafíos con el uso de extensiones | Interfaz con bibliotecas dinámicas sin extensiones.
Parte 9. Optimización: principios y técnicas de perfilado
Requerimientos técnicos | Las tres reglas de optimización | Estrategia de optimización | Encontrar cuellos de botella
Parte 10. Optimización: algunas técnicas poderosas
Definiendo complejidad | Reducción de la complejidad eligiendo estructuras de datos adecuadas | Usando colecciones | Uso de compensaciones arquitectónicas | Almacenamiento en caché
Parte 11. Concurrencia
¿Por qué concurrencia? | Multithreading | Multiprocesamiento |Programación asíncrona
Nivel: Intermedio/Avanzado