REPL: Read, Evaluate, Print, Loop
Python è un linguaggio interpretato che utilizza un REPL. Quando inserisci un'espressione, viene immediatamente interpretata e il risultato mostrato.
print
per vedere il risultato di un'espressione!
Hello World
Il programma più semplice in Python:
Sintassi di Base
Indentazione
Raggruppa le istruzioni con l'indentazione (4 spazi):
Commenti
Usa #
per i commenti:
Assegnamento
=
assegna, ==
confronta:
Case Sensitive
Distingue maiuscole/minuscole:
Tipi di Dati
int - Numeri Interi
Dimensione illimitata. Supporta hex (0x), ottale (0o), binario (0b)
float - Numeri Decimali
Con punto decimale o notazione scientifica
complex - Numeri Complessi
Parte reale e immaginaria con suffisso j
str - Stringhe
Sequenze di caratteri immutabili
list - Liste
Sequenze mutabili di oggetti
bool - Booleani
True/False. Supporta Truthy/Falsy
Operatori Matematici
Costrutti Principali
if-elif-else
Strutture condizionali:
for Loop
Iterazione su sequenze:
Funzioni
Definire funzioni riutilizzabili:
Input dell'Utente
Acquisire dati da tastiera:
Assegnamento Multiplo
Assegna più variabili contemporaneamente:
while Loop
Ripetizione basata su condizione:
Funzioni vs Metodi
Nei metodi il nome è preceduto dall'oggetto:
Motivazioni per Usare Python
Multiparadigma
Python supporta diversi stili di programmazione: procedurale, orientato agli oggetti e funzionale. Puoi scegliere l'approccio migliore per ogni problema.
Facilità
Python è relativamente facile da imparare e ha una vasta comunità di supporto con documentazione eccellente.
Efficienza
Sebbene interpretato, Python può essere ottimizzato grazie all'uso di librerie scritte in C per le operazioni critiche.
Librerie
Python ha un'enorme quantità di librerie per diversi scopi: web development, data science, AI, automazione e molto altro.
Vantaggi e Svantaggi dei Linguaggi Interpretati
Vantaggi
Semplicità
Facile provare subito il codice senza compilazione. Scrivi una riga e vedi immediatamente il risultato.
Portabilità
Non dipende dal sistema operativo. Python può essere eseguito su Windows, Mac, Linux senza modifiche al codice.
Debugging
Facile individuare errori poiché l'interprete li segnala man mano che esegue il codice, riga per riga.
Svantaggi
Velocità
L'esecuzione può essere più lenta rispetto ai linguaggi compilati, perché ogni riga deve essere interpretata al momento dell'esecuzione.
Efficienza
Non avendo una fase di compilazione che ottimizza il codice, può risultare meno efficiente in termini di prestazioni.
Esempi Pratici
Calcolatrice
Esempio di calcolatrice semplice:
Lavoro con Liste
Operazioni comuni sulle liste:
Manipolazione Stringhe
Operazioni comuni sulle stringhe:
Numeri e Matematica
Operazioni matematiche avanzate:
Esercizi Pratici
Esercizio 1: FizzBuzz
Stampa numeri da 1 a 15, sostituendo multipli di 3 con "Fizz", di 5 con "Buzz", di entrambi con "FizzBuzz":
Esercizio 2: Fibonacci
Genera i primi 10 numeri della sequenza di Fibonacci:
Esercizio 3: Indovina il Numero
Gioco semplice di indovinare un numero (simulato):
Esercizio 4: Ordinamento
Implementa un algoritmo di ordinamento semplice:
Concetti Avanzati
List Comprehension
Crea liste in modo conciso:
Dizionari
Strutture chiave-valore:
Lambda e Filter
Funzioni anonime e filtraggio:
Gestione Errori
Try-except per gestire eccezioni: