Sobre el proyecto

«Python - 100 días de novato a maestro» es un tutorial sistemático de Python, creado y Open Source por el desarrollador Luo Hao (Jack Fraser). Está organizado en documentos Markdown y divide el progreso del curso día por día. **Estructura del contenido del curso:** **Día 01~20: Fundamentos del lenguaje Python** Comienza con la introducción a Python, instalación del entorno, variables y operadores, estructuras de分支 y bucles; avanza hacia las estructuras de datos más utilizadas como listas, tuplas, cadenas, conjuntos y diccionarios; luego se explican definiciones de funciones y gestión de módulos, funciones de alto nivel y expresiones Lambda, decoradores y recursión; finalmente se introduce la programación orientada a objetos (clases y objetos, herencia y polimorfismo). **Día 21~30: Aplicaciones del lenguaje Python** Incluye lectura y escritura de archivos, manejo de excepciones, serialización JSON, manipulación de archivos CSV/Excel/Word/PDF/PowerPoint, procesamiento de imágenes, envío de correos electrónicos y aplicación de expresiones regulares. **Día 31~35: Contenido complementario** Abarca temas avanzados de Python (iteradores, generadores, programación concurrente), introducción al desarrollo web frontend (HTML/CSS/JavaScript/Vue.js/Element/Bootstrap) y uso del sistema operativo Linux. **Día 36~45: Bases de datos — fundamentales y avanzados** Explicación sistemática de bases de datos relacionales y MySQL, incluyendo sentencias DDL/DML/DQL/DCL, funciones de ventana, tipo JSON, vistas/funciones/procedimientos almacenados, optimización de índices, y prácticas de conexión de Python con MySQL y Hive. **Día 46~60: Práctica intensiva con Django** Desde un inicio rápido con Django hasta un dominio profundo de modelos, recursos estáticos, Cookie/Session, generación de informes (Excel/PDF/ECharts), barras de herramientas de logging y debugging, middleware, desarrollo frontend-backend separado, arquitectura RESTful y DRF (Django REST Framework), caché (Redis), tareas asíncronas (Celery), pruebas unitarias y despliegue del proyecto en producción. **Día 61~65: Recolección de datos web** Introduce conceptos de web scraping y su legalidad, extracción de datos con requests, análisis de páginas (regex/XPath/selectores CSS), programación concurrente (hilos/multiprocesamiento/I/O asíncrono), extracción de contenido dinámico con Selenium y el framework Scrapy. **Día 66~80: Análisis de datos con Python** Utilizando el entorno Anaconda y Jupyter Lab, se estudian profundamente NumPy (operaciones con arrays, mecanismo de broadcasting, manipulación matricial) y pandas (Series/DataFrame, limpieza de datos, tablas dinámicas, series temporales), así como visualización de datos con Matplotlib y Seaborn. **Día 81~90: Machine Learning** Cubre kNN, árboles de decisión y bosques aleatorios, Naive Bayes, modelos de regresión (lineal/lógica/polinomial), agrupamiento K-Means, aprendizaje ensemble (AdaBoost/GBDT/XGBoost/LightGBM), redes neuronales e introducción al procesamiento de lenguaje natural (modelo bolsa de palabras, word embeddings, RNN, Seq2Seq, Transformer). **Día 91~100: Desarrollo de proyectos en equipo** Introduce el modelo en cascada y desarrollo ágil (Scrum), normas de colaboración en equipos de proyecto (revisión de código, control de versiones, gestión de defectos), tecnologías de contenedores Docker y orquestación Kubernetes, optimización del rendimiento de MySQL, diseño de APIs REST, aspectos técnicos de sitios de comercio electrónico, despliegue y ajuste de rendimiento de proyectos, y orientación para entrevistas laborales. Este proyecto cuenta también con cursos de vídeo en la plataforma Bilibili y una columna en Zhihu, siendo adecuado para estudiantes de Python desde nivel principiante hasta avanzado, para un estudio sistemático.