Benvenuto al corso di livello intermedio su Python! In questo corso imparerai molte funzionalità avanzate del linguaggio e alcune best practice per utilizzarle. Questo corso è progettato per persone che hanno già una certa esperienza con Python e desiderano migliorare le proprie conoscenze e apprendere argomenti più avanzati.
Alla fine di questo corso, saprai come utilizzare le classi e avrai familiarità con l'ereditarietà. Copriremo le best practice per scrivere codice per progetti di grandi dimensioni e utilizzeremo typing, che aiuta nell'analisi statica del codice per rilevare errori. Lavorerai con i decorator e creerai i tuoi decorator di utilità che ridurranno significativamente le dimensioni del codice. Discuteremo di iteratori e iterabili insieme alla libreria standard itertools. glob e pathlib saranno utilizzati per lavorare con il filesystem. Soprattutto, impareremo come utilizzare async / await per ottimizzare il nostro codice quando lavoriamo con grandi I/O, database e richieste di rete.
💻 Imparare facendo
In questo corso, impari facendo! Ogni concetto ha diversi esercizi interattivi che risolverai per passare al successivo. Crediamo che l'apprendimento pratico sia il modo migliore per acquisire conoscenze approfondite. Qui avrai molti esercizi stimolanti e allo stesso tempo interessanti per praticare ogni concetto trattato.
Studierai al tuo ritmo. Puoi impegnarti e completare diversi livelli in una settimana, oppure prendertela con calma e concentrarti più a lungo su ogni concetto.
C'è un forum per fare domande e sbloccarti. Puoi porre o rispondere alle domande degli altri sotto ogni esercizio.
🎓 Curriculum
Questo corso si concentra sui concetti fondamentali e su alcune funzionalità avanzate di Python, introducendoli in modo intuitivo. Per rendere il processo più divertente e coinvolgente, i concetti sono organizzati in livelli e superare ogni livello significa che hai padroneggiato un nuovo concetto. Questi sono i principali argomenti che tratteremo qui:
Funzioni avanzate
Argomenti solo posizionali e solo per parola chiave
Ricorsione
Passaggio per valore VS passaggio per riferimento (argomenti mutabili)
Espressioni regolari
Nozioni di base e applicazioni delle espressioni regolari
Ricerca e corrispondenza
Classi
Definire le classi
Impostare e accedere agli attributi
Il costruttore __init__
Definire metodi all'interno delle classi
Metodi magici
Variabili pubbliche e private
Ereditarietà
Ereditare da una classe base
Modificare la funzionalità sovrascrivendo un metodo
Estendere la funzionalità con l'aiuto di super()
Ereditare da diverse classi base
Incapsulamento
Variabili private
Variabili protette
Come Python gestisce effettivamente le variabili private e protette
Analisi statica - cosa possiamo ottenere e quali sono le limitazioni
Iteratori e iterabili
Iteratori
Generatori
Iterabili
itertools - cycle(), repeat(), chain(), ecc.
Creare un generatore personalizzato
Creare un iterabile personalizzato
Gestori di contesto
Implementare un gestore di contesto personalizzato
Utilizzare la sintassi with
Gestori di contesto come decorator
Multithreading e Multiprocessing
Il pacchetto threading
Creare una classe thread personalizzata
Il pacchetto multiprocessing
Elaborazione in pool
Condividere dati tra thread e processi
asyncio
Sintassi async e await per le funzioni
Lavorare con i file
Lavorare con richieste di rete
Query tramite SQLAlchemy
asyncio vs thread e processi
Conclusione e progetti
Diversi progetti supervisionati riassumeranno tutto il materiale.
Questo includerà molte ricerche su internet e studio autonomo.
Automizzerai alcune attività e imparerai alcune librerie utili
🚀 Benvenuto
Imparare è per l'80% lavoro individuale! Completare questo corso sarà una tua conquista e siamo qui per supportarti in questo percorso. Puoi utilizzare la sezione in fondo a ogni esercizio per fare domande o aiutare gli altri.