Python, la hoja de ruta de 2023 para dominarlo todo

Python puede hacer cualquier cosa. Todos incluyen ciencia de datos, aprendizaje automático, aprendizaje profundo, NLP, procesamiento de imagen/video para detección y segmentación, juegos, Android, aplicaciones web, GUI de escritorio, solo nómbralo.
La cosa es que, si quieres aprenderlo todo, esto puede ser un poco abrumador. Al final de este artículo, verá cómo puede dominar todos esos temas.
La hoja de ruta de Python 2023:

Este mapa mental resume todas las bibliotecas (y los conceptos básicos de Python) que puede aprender para dominarlo todo. Esto no es un largo plazo. Debería poder dominar todos esos temas en un período de tiempo más corto de lo que piensa, porque Python se encarga de la mayor parte del código por usted, debido a su ENORME compatibilidad con la biblioteca.

1. Comencemos con los conceptos básicos de Python:
- Aprenda todo sobre las variables y la manipulación de cadenas. Esto es fundamental para cualquier tema que venga después.
- Declaraciones condicionales y cómo tomar decisiones de programa
- Bucles y céntrese en sintaxis avanzadas de bucles for como zip y enumerar. Esos son absolutamente útiles si desea codificar en la forma "Pythonic".
- DEBE dominar estructuras de datos como Listas y Diccionarios, las estructuras menos importantes serían Tuplas y Conjuntos
- Aprenda todo sobre las funciones y cómo devolver valores de ellas. Asegúrese de comprender los alcances de datos y las variables globales
- Aprenda funciones integradas avanzadas como comprensión de listas, mapas y funciones Lambda
- Las excepciones son esenciales para escribir un código que, en la medida de lo posible, esté libre de bloqueos.
- Administración de directorios, que se utiliza para crear árboles de directorios para los archivos de su proyecto. Y es muy útil para la automatización de tareas, navegación de archivos, etc. Lee sobre ello.
En el mundo del software moderno, uno no puede ignorar la importancia del código fácil de extender y mantenible.
Así que esto es lo que necesita saber:
- Clases y cómo crear métodos de clase, variables de clase e inicializador de clase
- Objeto , que no es más que una clase en juego.
- Herencia
- Súper palabra clave
- Polimorfismo
- Encapsulación
- Si realmente quiere hacer un esfuerzo adicional, consulte Patrones de diseño
- Este no está realmente relacionado con OOP, pero los decoradores , que son técnicas específicas de Python, pueden ser muy útiles cuando se trabaja con muchas bibliotecas externas como Unittest. Lo cual es muy popular para probar su software.
Los siguientes formatos de archivos son esenciales para trabajar. Y Python es el mejor lenguaje de programación para editar, escribir y automatizar todo lo relacionado con esos formatos de archivo.
- .TXT
- .csv
- .json
- .Código Postal
Es necesario que el cálculo matemático sea rápido, y Python tiene la reputación de ser lento en comparación con C/C++.
Bueno, esto no es del todo cierto. En Python usamos una biblioteca llamada Numpy para realizar casi cualquier operación matemática compleja. Ya sea la multiplicación de matrices, ya sea buscando un elemento en una matriz o encontrando elementos Max/Min.
La biblioteca es enorme, pero aquí hay algunos puntos destacados sobre lo que necesita aprender para comenzar:
- Matrices individuales
- Matrices multidim
- Funciones de búsqueda numpy
- funciones numpy max/min
- funciones de clasificación numpy
- convertir string_to_array y viceversa
- Separar
- Arreglos aleatorios
- Transformación de matrices
- Invertir una matriz
- Técnicas de multiplicación de matrices
Pandas es la biblioteca para usar cuando se manejan datos tabulares (como archivos de Excel, csv, etc.).
Imagínese poder automatizar cualquier cosa que Excel pueda hacer y agregarlo al vasto y enorme mundo de Python... bueno, de eso se trata exactamente esta biblioteca. Aquí hay algunos puntos destacados sobre dónde debe comenzar:
- Marcos de datos de pandas
- Lectura de archivos csv
- filtros de datos
- Manipulación de columnas
- Manipulación de filas
- Renombrar elementos
- Serie
- Funciones de trazado internas
- Generación de archivos CSV
Es una declaración descabellada decir que Python puede replicar todas esas aplicaciones de foto/video que ves a tu alrededor. Porque Python combinado con OpenCV es un monstruo gigante cuando se trata de la manipulación de archivos multimedia.
Aquí hay algunos puntos destacados sobre lo que es necesario para empezar:
- Comprender los espacios de color (RGB, HSV, LAB)
- Lectura/Escritura de imágenes
- Mostrar imágenes
- Binarización de imágenes
- Técnicas de umbralización
- Manipulación de imágenes (rotar, escalar...)
- Conversión de matriz a imagen y viceversa
- Dilatación y erosión
- Detección de contorno
- Dibujo de contorno
- Aproximación de forma
- Cálculo del área de contorno
- Enmascaramiento
Lo único que puedo agregar aquí es seguimiento de objetos, échale un vistazo.
7. Interfaces de usuario de Python (IU):
¿Cómo se desharía de esa "vista de código" y usaría algunas interfaces interactivas en su lugar? ¿No es eso lo que todo el software tiene en común?
Python tiene múltiples formas de interfaz de usuario.
- Las interfaces de línea de comandos, que es como su nombre lo indica, se basan en una ventana de línea de comandos, donde escribe las instrucciones que ejecutaría su secuencia de comandos de python.
Puedes usar la biblioteca Argparse para eso - GUI de escritorio o interfaces gráficas de usuario. Esto haría que su software se vea como cualquier otro software que descargue e instale con botones interactivos, campos de texto, listas desplegables y menús.
Puede usar PySimpleGUI o Tkinter. - Esto creará una interfaz de usuario en su navegador. La ventaja de ese tipo de interfaz de usuario es que simplemente puede implementar su proyecto en la web más tarde junto con esa interfaz. Esta ventaja no se puede encontrar en Argparse o Tkinter
Tener datos, ya sean datos internos de Python o datos tabulares externos, requiere cierta visualización, ¿no?
Las dos librerías más importantes son:
- matplotlib
- nacido en el mar
- Histogramas
- Trazado de dispersión
- Historia Formación
- Parcelas
- Datos para colorear
- Múltiples Parcelas
- Parcelas vivas
Ahora que ha aprendido algo de codificación de Python, se dará cuenta de que ejecutar una instrucción a la vez no es práctico en la mayoría de las aplicaciones grandes. Como a veces le gustaría que su GUI se ejecute independientemente de las otras funciones de Python.
Y aquí viene multihilo.
- Comenzando un hilo
- Unirse
- Grupo de subprocesos
- Semáforos
10. Automatización de tareas de Python
La automatización de las "tareas aburridas", como el archivo de Excel, los formularios web y el registro de la GUI, se puede automatizar fácilmente con python. ¡Incluso puede crear secuencias de comandos de python solo para jugar su juego favorito de Android/OS y obtener todas las recompensas diarias para usted!
Las siguientes bibliotecas son las más famosas por esto:
- Selenio
- piautogui
- OpenCV puede resultar muy útil cuando se integra con lo mencionado anteriormente
- Extracción de página web XPATH para interactuar usando selenio
- llenar campos de texto
- hacer clic
- encontrar un elemento ya sea por xpath o usando una imagen de plantilla
- manejo de menús desplegables
- Manejo de cargas de archivos
- Coincidencia de plantillas de aprendizaje en OpenCV

Aprendizaje supervisado, aprendizaje no supervisado, aprendizaje de refuerzo, todos esos temas interesantes se pueden aprender mediante la programación con Python. Dado que la programación con la aplicación práctica aumentará su tasa de aprendizaje x10 veces, considere aprender el algoritmo y jugar con python inmediatamente.
Las dos bibliotecas más famosas para la ciencia de datos y el aprendizaje automático son:
- espía
- sklearn que se basa en scipy
- Aprendizaje supervisado:
a. Bayesiano ingenuo
b. Regresión lineal
c. MVS - Aprendizaje no supervisado:
a. K-significa agrupamiento
b. PCA
c. LDA
d. t-SNE - Aprendizaje por refuerzo:
a. Q-aprendizaje
b. Aprendizaje Genético
- Precisión
- Matriz de confusión
- Curvas AUC/ROC
- pliegue cruzado

Este tema se basa en Python Machine Learning y utiliza esencialmente redes neuronales. Este es todo un dominio de especialización ahora.
Debe consultar Tensor Flow, Keras y Pytorch.
Comience con Keras (basado en el flujo de Tensor ) y luego puede saltar a Pytorch .
Dado que las funciones de Keras son más fáciles de manejar que Pytorch.
Estos son los primeros algoritmos con los que debe comenzar
- Redes Neuronales Artificiales Profundas (ANN). Perfecto para tareas de predicción de regresión
- Redes neuronales convolucionales (CNN) esto es perfecto para la clasificación de imágenes
- Redes adversarias generativas (GAN). La base de Deep Fake y la generación de datos falsos
- Funciones de pérdida y retropropagación
- Funciones de activación
- Entrenamiento/Prueba Precisión/Pérdida
- Sintonia FINA
13. Diseño web Python:
Sí, en realidad puedes diseñar backend para tus páginas web con Python. En realidad, las bibliotecas como Flask pueden ser las más fáciles de usar para comenzar. Para ser honesto, sería muy útil tener algún conocimiento en al menos HTML/CSS para poder probar lo que sucede a través de su Font-End (el extremo frontal son todos los botones y menús llamativos que ve en una página).
Sin embargo, si está de acuerdo con escribir páginas súper ficticias usando las funciones internas de Flask, ¡entonces sea mi invitado y comience!
Esto es lo que necesita para empezar:
- Rutas
- Navegación
- Plantillas
- Actualización de elementos de página a través de Python
- Sesión
- Autenticación
Definitivamente deberías revisar este curso. Este es el único curso en Internet que recibe actualizaciones semanales con una nueva sección. Dado que el objetivo aquí es que este curso incluya todo lo que pueda necesitar en python. No necesita comprar 20 cursos para dominar Python.
¡ Puede pedirle al instructor que agregue cualquier tema relacionado con Python y lo agregará dentro de una semana! ¡Sin costes adicionales!
