Python La road map del 2023 per dominare tutto
Python può fare qualsiasi cosa. Tutti inclusi Data Science, Machine Learning, Deep Learning, NLP, elaborazione di immagini/video sia per il rilevamento che per la segmentazione, giochi, Android, app Web, GUI desktop, basta nominarlo.
Il fatto è che, se vuoi imparare tutto, questo può essere un po' travolgente. Alla fine di questo articolo, vedrai come padroneggiare tutti questi argomenti.
La tabella di marcia di Python 2023:
Questa mappa mentale riassume tutte le librerie (e i concetti di base di Python) che puoi imparare a padroneggiare tutto. Questo non è un periodo molto lungo. Dovresti essere in grado di padroneggiare tutti questi argomenti in un lasso di tempo più breve di quanto pensi, perché Python si prende cura della maggior parte del codice per te, grazie al suo ENORME supporto per le librerie.
1. Iniziamo con le basi di Python:
- Scopri tutto sulle variabili e la manipolazione delle stringhe. Questo è essenziale per qualsiasi argomento che viene dopo.
- Dichiarazioni condizionali e come prendere decisioni sul programma
- Cicli e concentrarsi su sintassi avanzate per cicli come zip ed enumerate. Questi sono assolutamente utili se vuoi codificare in modo "Pythonic".
- DEVI padroneggiare strutture di dati come elenchi e dizionari, strutture meno importanti sarebbero tuple e insiemi
- Scopri tutto sulle funzioni e su come restituire valori da esse. Assicurati di comprendere gli ambiti dei dati e le variabili globali
- Scopri le funzioni integrate avanzate come la comprensione dell'elenco, le mappe e le funzioni Lambda
- Le eccezioni sono fondamentali per scrivere un codice il più possibile privo di crash
- Gestione directory che viene utilizzata per creare alberi di directory per i file di progetto. Ed è molto utile per l'automazione delle attività, la navigazione dei file ..etc. Leggi a riguardo.
Nel mondo del software moderno, non si può ignorare l'importanza di un codice facile da estendere e manutenibile.
Quindi ecco cosa devi sapere:
- Classi e come creare metodi di classe , variabili di classe e inizializzatore di classe
- Object , che non è altro che una classe in gioco
- Eredità
- Super parola chiave
- Polimorfismo
- Incapsulamento
- Se vuoi davvero fare il possibile, dai un'occhiata a Design Patterns
- Questo non è realmente correlato a OOP, ma i decoratori che sono tecniche specifiche di Python possono essere molto utili quando si lavora con molte librerie esterne come Unittest. Che è molto popolare per testare il tuo software.
I seguenti formati di file sono essenziali con cui lavorare. E Python è il miglior linguaggio di programmazione per modificare, scrivere script e automatizzare qualsiasi cosa relativa a quei formati di file.
- .testo
- .csv
- .json
- .cerniera lampo
È necessario che il calcolo matematico sia veloce e il tipo python ha la reputazione di essere lento rispetto a C/C++.
Beh, questo non è del tutto vero. In Python usiamo una libreria chiamata Numpy per eseguire quasi tutte le operazioni matematiche complesse. Che si tratti della moltiplicazione di matrici, della ricerca di un elemento in un array o della ricerca di elementi Max/Min.
La biblioteca è enorme, ma ecco alcuni punti salienti su ciò che devi imparare per iniziare:
- Matrici singole
- Array multi-dim
- Funzioni di ricerca numpy
- funzioni numpy max/min
- funzioni di ordinamento numpy
- convertire string_to_array e viceversa
- Diviso
- Array randomizzati
- Rimodellamento degli array
- Inversione di un array
- Tecniche di moltiplicazione di array
Pandas è la libreria da utilizzare quando si gestiscono dati tabulari (come file excel, csv..etc).
Immagina di essere in grado di automatizzare tutto ciò che Excel può fare e aggiungerlo al vasto enorme mondo di Python ... beh, questo è esattamente ciò di cui tratta questa libreria. Ecco alcuni punti salienti su dove è necessario iniziare:
- Dataframe Pandas
- Lettura di file csv
- Filtri dati
- Manipolazione della colonna
- Manipolazione delle righe
- Rinominare gli elementi
- Serie
- Funzioni interne di plottaggio
- Generazione di file CSV
È un'affermazione selvaggia affermare che Python può replicare tutte quelle app foto/video che vedi in giro. Perché Python combinato con OpenCV è un mostro gigante quando si tratta di manipolazione di file multimediali.
Ecco alcuni punti salienti su ciò che è necessario per iniziare:
- Comprendere gli spazi colore (RGB, HSV, LAB)
- Lettura/scrittura di immagini
- Visualizza immagini
- Immagini binarie
- Tecniche di soglia
- Manipolazione delle immagini (ruota, scala...)
- Conversione da matrice a immagine e viceversa
- Dilatazione ed erosione
- Rilevamento del contorno
- Disegno di contorno
- Approssimazione della forma
- Calcolo dell'area del contorno
- Mascheramento
L'unica cosa che posso aggiungere qui è Object Tracking , dai un'occhiata.
7. Interfacce utente Python (UI):
Come ti libereresti di quella "vista codice" e utilizzeresti invece alcune interfacce interattive. Non è quello che tutti i software hanno in comune?
Python ha più forme di interfaccia utente.
- Command Line Interfaces, che è come suggerisce il nome, si basa su una finestra della riga di comando, in cui digiti le istruzioni che il tuo script Python eseguirà.
Puoi usare la libreria Argparse per questo - GUI desktop o interfacce utente grafiche. Ciò renderebbe il tuo software simile a qualsiasi altro software che scarichi e installi con pulsanti interattivi, campi di testo, elenchi a discesa e menu.
Puoi usare PySimpleGUI o Tkinter. - Questo creerà un'interfaccia utente nel tuo browser. Il vantaggio di quel tipo di interfaccia utente è che puoi semplicemente distribuire il tuo progetto sul Web in un secondo momento insieme a quell'interfaccia. Questo vantaggio non può essere trovato in Argparse o Tkinter
Avere dati, siano essi dati Python interni o dati tabulari esterni, richiede una visualizzazione, giusto?
Le due librerie più importanti sono:
- Matplotlib
- Seaborn
- Istogrammi
- Grafico a dispersione
- Storia Formazione
- Trame di coppia
- Dati di colorazione
- Trame multiple
- Trame dal vivo
Ora che hai imparato un po' di codice Python, ti renderai conto che l'esecuzione di un'istruzione alla volta non è pratica nella maggior parte delle applicazioni di grandi dimensioni. Come a volte vorresti che la tua GUI fosse in esecuzione indipendentemente dalle altre funzioni di Python.
E qui arriva il multithreading.
- Avvio di un thread
- Giuntura
- Piscina di thread
- Semafori
10. Automazione delle attività Python
L'automazione delle "attività noiose", come il file Excel, i moduli Web e la registrazione della GUI può essere facilmente automatizzata con Python. Puoi persino creare script Python solo per giocare al tuo gioco Android/OS preferito e raccogliere tutte le ricompense giornaliere per te!
Le seguenti librerie sono le più famose per questo:
- Selenio
- pyautogui
- OpenCV può rivelarsi molto utile se integrato con quanto sopra menzionato
- Estrazione della pagina web XPATH per interagire utilizzando il selenio
- riempimento dei campi di testo
- cliccando
- trovare un elemento tramite xpath o utilizzando un'immagine modello
- gestione dei menu a discesa
- Gestione dei caricamenti di file
- corrispondenza del modello di apprendimento in OpenCV
Apprendimento supervisionato, apprendimento non supervisionato, Apprendimento per rinforzo, tutti questi argomenti entusiasmanti possono essere appresi programmandoli con Python. Poiché la programmazione con l'applicazione pratica aumenterà il tuo tasso di apprendimento x10 volte, prendi in considerazione l'apprendimento dell'algoritmo e gioca immediatamente con Python.
Le due librerie più famose per la scienza dei dati e l'apprendimento automatico sono:
- scipy
- sklearn che si basa su scipy
- Apprendimento supervisionato:
a. Ingenuo Bayes
b. Regressione lineare
c. SVM - Apprendimento non supervisionato:
a. K-significa raggruppamento
b. APC
c. LDA
d. t-SNE - Apprendimento per rinforzo:
a. Q-apprendimento
b. Apprendimento genetico
- Precisione
- Matrice di confusione
- Curve AUC/ROC
- Piega incrociata
Questo argomento è basato su Python Machine Learning e utilizza essenzialmente reti neurali. Questo è un intero dominio di specializzazione ora.
Devi controllare Tensor Flow, Keras e Pytorch.
Inizia con Keras (costruito sul flusso Tensor ), quindi puoi passare a Pytorch .
Poiché le funzioni di Keras sono più facili da gestire rispetto a Pytorch.
Ecco i primi algoritmi con cui devi iniziare
- Reti Neurali Artificiali Profonde (ANN). Perfetto per le attività di previsione della regressione
- Convolutional Neural Networks (CNN) è perfetto per la classificazione delle immagini
- Generative Adversarial Networks (GAN). La base di Deep Fake e la generazione di dati falsi
- Funzioni di perdita e retropropagazione
- Funzioni di attivazione
- Precisione/perdita di addestramento/test
- Ritocchi
13. Web design Python:
Sì, puoi effettivamente progettare il backend per le tue pagine web con Python. In realtà le librerie come Flask possono essere le più facili da usare per iniziare. Ad essere onesti, sarebbe molto utile avere una certa conoscenza almeno di HTML/CSS per poter testare cosa sta succedendo attraverso il tuo Font-End (il front-end è costituito da tutti i pulsanti e i menu appariscenti che vedi su una pagina).
Tuttavia, se ti va bene scrivere pagine super fittizie utilizzando le funzioni interne di Flask, allora sii mio ospite e inizia!
Ecco cosa ti serve per iniziare:
- Itinerari
- Navigazione
- Modelli
- Aggiornamento degli elementi della pagina tramite Python
- Sessione
- Autenticazione
Dovresti assolutamente dare un'occhiata a questo corso. Questo è l'unico corso su Internet che riceve aggiornamenti settimanali con una nuova sezione. Poiché l'obiettivo qui è che questo corso includa tutto ciò di cui avresti mai bisogno in Python. Non è necessario acquistare 20 corsi per padroneggiare Python.
Puoi chiedere all'istruttore di aggiungere qualsiasi argomento riguardante Python e lui lo aggiungerà entro una settimana!! Nessun costo aggiuntivo!

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































