Qué aprender Python
Para muchos amigos que quieren aprender Python, no saben por dónde empezar. Xiaowo ha compilado una ruta de aprendizaje para el desarrollo completo de Python. Puede seguir el siguiente esquema para aprender:
La primera etapa: base profesional
Objetivos de la fase:
1. Dominar el entorno de desarrollo de Python y los conocimientos básicos de programación
2. Competente en el uso del conocimiento orientado a objetos de Python para el desarrollo de programas
3. Tener un conocimiento profundo de las bibliotecas y componentes principales de Python
4. Competente en el uso de declaraciones SQL para realizar operaciones comunes de bases de datos.
5. Competente en el uso de comandos del sistema operativo Linux y configuración del entorno
6. Competente en el uso de MySQL y dominio de operaciones avanzadas de bases de datos
7. los conocimientos aprendidos para completar proyectos
Puntos de conocimiento:
Conceptos básicos de programación en Python, Python orientado a objetos, Python avanzado, base de datos MySQL, sistema operativo Linux.
1. Conceptos básicos de programación de Python, reglas de sintaxis, funciones y parámetros, tipos de datos, módulos y paquetes, E/S de archivos, cultivar sólidas habilidades básicas de programación de Python y tener un uso competente de la programación de bibliotecas y objetos centrales de Python.
2. Python orientado a objetos, objetos centrales, manejo de excepciones, subprocesos múltiples, programación de red, tener un conocimiento profundo de la programación orientada a objetos, mecanismo de manejo de excepciones, principios de subprocesos múltiples, protocolo de red. conocimientos y aplicarlos hábilmente en proyectos.
3. Principios de clases, MetaClass, métodos especiales subrayados, recursividad, métodos mágicos, reflexión, iteradores, decoradores, UnitTest, Mock. Comprenda profundamente los principios subyacentes de la orientación a objetos, domine las técnicas avanzadas de desarrollo de Python y comprenda la tecnología de pruebas unitarias.
4. Conocimiento de bases de datos, paradigma, configuración de MySQL, comandos, creación de bases de datos y tablas, adición, eliminación, modificación y consulta de datos, restricciones, vistas, procedimientos almacenados, funciones, disparadores, transacciones, cursores, PDBC, Comprensión profunda Conocimiento general de los sistemas de gestión de bases de datos y el uso y gestión de la base de datos MySQL. Establezca una base sólida para el desarrollo backend de Python.
5. Instalación y configuración de Linux, operaciones de directorio de archivos, comandos VI, administración, usuarios y permisos, configuración del entorno, Docker, programación Shell. Linux, como sistema operativo de servidor convencional, es algo que todo ingeniero de desarrollo debe realizar. Dominar las tecnologías clave y poder utilizarlas con habilidad.
Segunda fase: desarrollo de PythonWEB
Objetivos de la fase:
1. Competente en tecnología de desarrollo web front-end, HTML, CSS, JavaScript y frameworks front-end.
2. Comprensión profunda de los procesos de interacción y protocolos de comunicación de front-end y back-end en el sistema web.
3 Competente en el uso del front-end y la corriente principal de la web. frameworks como Django y Flask para completar el desarrollo de sistemas web
4. Tener un conocimiento profundo de los protocolos de red, distribución, PDBC, AJAX, JSON y otros conocimientos
5. capaz de utilizar el conocimiento aprendido para desarrollar un marco MiniWeb y dominar los principios de implementación del marco
6. Utilizar el marco de desarrollo web implementado durante todo el proyecto
Puntos de conocimiento:
Programación front-end web, front-end web avanzado, marco de desarrollo Django, marco de desarrollo Flask y proyectos prácticos de desarrollo web.
1. Domine la tecnología de desarrollo front-end de elementos de páginas web, diseño, estilos CSS, modelos de caja, JavaScript, JQuery y Bootstrap, domine los marcos de desarrollo front-end JQuery y BootStrap y complete el diseño de la página. y embellecimiento.
2. Marco de desarrollo front-end Vue, datos JSON, protocolo de comunicación de red, servidor web e interacción front-end. Competente en el uso del marco Vue, conocimiento profundo del protocolo de red HTTP y dominio del uso de Swagger. , Tecnología AJAX para lograr la interacción front-end y back-end.
3. Personalizar el marco de desarrollo web, uso básico del marco Django, atributos del modelo y configuración de backend, cookies y sesiones, plantillas, modelo de datos ORM, caché de segundo nivel de Redis, RESTful, modelo MVC maestro Django. Utiliza API de uso común, integra tecnología front-end y desarrolla marcos y sistemas WEB completos.
4. Instalación y configuración de Flask, inicialización y configuración del objeto de la aplicación, enrutamiento de función de vista, objeto de solicitud, función de cancelación, errores personalizados, valor de retorno de la función de vista, contexto de Flask y enlace de solicitud, plantilla, paquete de extensión de base de datos. Flask-Sqlalchemy, paquete de extensión de migración de bases de datos Flask-Migrate y paquete de extensión de correo electrónico Flask-Mail. Domine las API comunes del marco Flask, las similitudes y diferencias con el marco Django y sea capaz de desarrollar de forma independiente un desarrollo completo de sistema WEB.
La tercera etapa: rastreador y análisis de datos
Objetivos de la fase:
1. Dominar los principios operativos de los rastreadores y el uso de captura de paquetes de red comunes. herramientas y ser capaz de analizar los protocolos HTTP y HTTPS para el análisis de captura de paquetes
2 Competente en varias bibliotecas de análisis de estructuras de páginas web comunes para analizar y extraer los resultados del rastreo
3. en varios mecanismos anti-rastreo comunes y contramedidas para lidiar con medidas anti-rastreo comunes
4 Competente en el uso del marco de rastreo comercial Scrapy para escribir rastreadores web a gran escala para rastreo de contenido distribuido
5. Competente en conceptos y flujos de trabajo relacionados con el análisis de datos
6. Competente en el uso de las principales herramientas de análisis de datos Numpy, Pandas y Matplotlib.
7. organización, conversión de formato y análisis de datos Redacción de informes
8 Ser capaz de utilizar rastreadores de manera integral para rastrear datos de reseñas de películas de Douban y completar toda la práctica del proyecto del proceso de análisis de datos
Puntos de conocimiento:
Desarrollo de rastreadores web, Numpy para análisis de datos, Pandas para análisis de datos.
1. Principios de rastreo de páginas del rastreador, proceso de rastreo, herramienta de análisis de páginas LXML, expresiones regulares, escritura y arquitectura del grupo de proxy, medidas y soluciones anti-rastreo comunes, estructura del marco del rastreador, marco del rastreador comercial Scrapy, basado en el análisis y la comprensión de los principios de rastreo de rastreadores, los procesos de rastreo de datos de sitios web y los protocolos de red, dominar el uso de herramientas de análisis de páginas web, ser capaz de responder de manera flexible a las estrategias anti-rastreo de la mayoría de los sitios web y tener la capacidad de completar la escritura de forma independiente. y aplicación competente de marcos de rastreadores La capacidad de escribir rastreadores distribuidos para marcos de rastreadores comerciales a gran escala.
2. Características de la estructura de datos ndarray en Numpy, tipos de datos admitidos por numpy, métodos de creación de matrices integrados, operadores aritméticos, productos matriciales, incremento y decremento automático, funciones generales y funciones agregadas. Índice de corte, vectorización y mecanismo de transmisión de ndarray, familiarizado con el uso común de Numpy, una de las tres herramientas principales para el análisis de datos, familiarizado con las características y operaciones comunes de la estructura de datos de ndarray, domine las operaciones matriciales, de indexación y de corte de ndarray operan matrices de diferentes dimensiones, etc.
3. Las tres estructuras de datos principales en Pandas, incluidos los conceptos y usos básicos de los objetos Dataframe, Series e Index, reemplazo de objetos de índice y eliminación de índices, métodos aritméticos y de alineación de datos, limpieza de datos y datos. regularización, conversión estructural, familiarizado con el uso común de Pandas, una de las tres herramientas principales para el análisis de datos, familiarizado con el uso de los tres objetos de datos principales en Pandas y capaz de usar Pandas para completar la limpieza y el formato de datos más importantes trabajos de conversión y regularización de datos en análisis de datos, y Pandas para métodos de operación, lectura y procesamiento de archivos.
4. Sistema de estructura de tres capas Matplotlib, dibujo de varios tipos de gráficos comunes, como gráficos de líneas, gráficos de barras, gráficos de barras apiladas y gráficos circulares, agregando leyendas, texto y marcas, y guardando archivos visuales. Familiarizado con él Usos comunes de Matplotlib, una de las tres herramientas más poderosas para el análisis de datos. Familiarizado con la estructura de tres capas de Matplotlib y capaz de usar Matplotlib con habilidad para dibujar varios gráficos de análisis de datos comunes. Ser capaz de utilizar de manera integral las diversas herramientas de visualización y análisis de datos que se enseñan en el curso para completar todo el proceso de proyectos prácticos, como el análisis y predicción de datos del mercado de valores, el análisis de datos de grupos de usuarios de bicicletas compartidas y el análisis de datos del índice de felicidad global.
Fase 4: Aprendizaje automático e inteligencia artificial
Objetivos de la fase:
1. Comprender los conceptos básicos y los procedimientos de procesamiento del sistema relacionados con el aprendizaje automático.
2. Ser capaz de aplicar hábilmente varios modelos comunes de aprendizaje automático para resolver problemas de prueba y entrenamiento de aprendizaje supervisado y no supervisado, y resolver problemas de regresión y clasificación.
3. Modelos de algoritmos, como KNN, árboles de decisión, bosques aleatorios, K-Means, etc.
4. Domine la forma en que las redes neuronales convolucionales manejan el reconocimiento de imágenes y los problemas de reconocimiento del lenguaje natural, y esté familiarizado con los tensores en el. marco de aprendizaje profundo TF, sesión, modelo de optimización de gradiente, etc.
5. Domine el mecanismo operativo de la red neuronal convolucional de aprendizaje profundo y pueda personalizar la capa convolucional, la capa de agrupación y la capa FC para completar. reconocimiento de imágenes, reconocimiento de fuentes escritas a mano y reconocimiento de códigos de verificación y otros proyectos prácticos de aprendizaje profundo convencionales
Puntos de conocimiento:
1. Algoritmos comunes de aprendizaje automático, uso de conjuntos de datos sklearn, diccionario. extracción de características, extracción de características de texto, normalización, estandarización, análisis de componentes principales de datos PCA, algoritmo KNN, modelo de árbol de decisión, bosque aleatorio, regresión lineal y modelos y algoritmos de regresión logística. Estar familiarizado con los conceptos básicos relacionados con el aprendizaje automático, dominar el flujo de trabajo básico del aprendizaje automático, estar familiarizado con la ingeniería de funciones y ser capaz de utilizar varios modelos de algoritmos de aprendizaje automático comunes para resolver problemas como clasificación, regresión y agrupación.
2. Conceptos básicos relacionados con Tensorflow, gráfico de flujo de datos TF, sesión, tensor, visualización de tensorboard, modificación de tensor, lectura de archivos TF, uso de juegos de tensorflow, estructura de red neuronal, cálculo de convolución, activación Cálculo de funciones, agrupación. diseño de capas, dominar las diferencias y ejercicios antes del aprendizaje automático y el aprendizaje profundo, dominar el flujo de trabajo básico del aprendizaje profundo, dominar el nivel estructural y las características de las redes neuronales, dominar el uso de tensores, estructuras gráficas, objetos OP, etc., familiarizado con el diseño de la capa de entrada, la capa de convolución, la capa de agrupación y la capa completamente conectada, y completó todo el proceso de proyectos comunes de aprendizaje profundo, como el reconocimiento de códigos de verificación, el reconocimiento de imágenes y el reconocimiento de entradas de escritura a mano.