Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Fundamentals

Raccolta degli esercizi svolti durante il modulo Programmazione 2 del percorso formativo Web Developer AI presso la Steve Jobs Academy (Catania).

Il repository documenta il percorso di apprendimento di Python, dalle strutture di controllo di base fino alla programmazione a oggetti e ai metodi speciali. Non è un progetto unico, ma un archivio organizzato in ordine di difficoltà crescente.

I progetti finali del modulo hanno repository dedicati: book-manager, pokemon-api-client, creature-manager e loan-predictor-webapp-ml.


Come è organizzato

Cartella Contenuto
01-basi/ 23 esercizi su condizioni, cicli e liste
02-funzioni/ 30 esercizi su funzioni, lambda, comprehension e dizionari
03-oop/ 8 esercizi su classi e metodi speciali

01 — Basi

Esercizi introduttivi su strutture di controllo e acquisizione di dati da tastiera.

Argomenti coperti: condizioni if/elif/else, cicli for e while, break e continue, operatore ternario, confronti tra stringhe e tra tipi diversi, prime operazioni sulle liste.

Alcuni esempi: verifica di numero positivo o negativo, classificazione per fascia d'età, controllo delle credenziali di accesso, filtro di numeri, interruzione di un ciclo al primo multiplo di 7.


02 — Funzioni e strutture dati

Il blocco più esteso del percorso. Introduce la programmazione funzionale e le strutture dati di Python.

Funzioni — definizione, parametri posizionali e keyword, argomenti variabili con *args e **kwargs, valori di ritorno, ricorsione.

Programmazione funzionale — espressioni lambda, map(), filter(), pipeline che concatenano più trasformazioni.

List comprehension — costruzione di liste in una riga, con e senza condizione.

Dizionari — accesso sicuro con get(), iterazione su chiavi e valori.

Scope — variabili globali e locali, shadowing.

Prime classi — definizione, costruttore, metodi, creazione di più oggetti.


03 — Programmazione a oggetti

Approfondimento sui metodi speciali di Python, quelli con il doppio underscore.

Esercizio Argomento
student_constructor.py Il costruttore __init__
student_dunder_str.py __str__, la rappresentazione testuale di un oggetto
student_eq_method.py __eq__, ridefinire il confronto tra oggetti
student_len_method.py __len__, dare una lunghezza a un oggetto
student_add_method.py __add__, ridefinire l'operatore +
vehicle_class_attribute.py Attributi di classe e attributi di istanza
vehicle_attribute_shadowing.py Cosa succede quando un attributo di istanza copre uno di classe
introspection_dir_dict.py Introspezione con dir() e __dict__

I metodi speciali permettono a una classe personalizzata di rispondere alle operazioni native del linguaggio: print(), ==, len(), +. È il modo in cui Python integra gli oggetti definiti dall'utente con la propria sintassi.


Moduli di supporto

Ogni cartella contiene due piccoli moduli scritti da me e usati dagli esercizi:

  • clear_screen.py — pulisce il terminale all'avvio dello script
  • color_tool.py — espone Fore e Style di colorama per stampare a colori

Sono duplicati in tutte e tre le cartelle perché Python cerca i moduli importati nella stessa directory dello script eseguito. In questo modo ogni esercizio è indipendente e si avvia senza configurazioni.


Come eseguire gli esercizi

Serve Python 3 e la libreria colorama:

pip install -r requirements.txt

Conviene installare le dipendenze in un ambiente virtuale isolato: vedi Ambienti virtuali in Python.

Poi si lancia il singolo esercizio:

python 02-funzioni/student_registry.py

Nota sulla portabilità: clear_screen.py usa cls su Windows e clear sugli altri sistemi, quindi funziona ovunque.


Tecnologie

  • Python 3
  • colorama per l'output colorato nel terminale
  • Visual Studio Code come ambiente di sviluppo

Autore

Riccardo Mazza@Richard-WebDev Studente Web Developer AI, Steve Jobs Academy

About

Esercizi in Python del modulo Programmazione 2 — basi, funzioni, programmazione funzionale e OOP

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages