Introduzione a Python

Guida completa ai concetti fondamentali del linguaggio

REPL: Read, Evaluate, Print, Loop

Python è un linguaggio interpretato che utilizza un REPL. Quando inserisci un'espressione, viene immediatamente interpretata e il risultato mostrato.

Importante: Non serve scrivere print per vedere il risultato di un'espressione!
Prova il REPL Python
Inserisci un'espressione e premi Esegui

Hello World

Il programma più semplice in Python:

print("Hello World")

Sintassi di Base

Indentazione

Raggruppa le istruzioni con l'indentazione (4 spazi):

if True: print("Blocco indentato") print("Fuori dal blocco")

Commenti

Usa # per i commenti:

# Questo è un commento a = 5 # Commento inline

Assegnamento

= assegna, == confronta:

a = 6 # assegnamento if a == 5: # confronto print("a è 5")

Case Sensitive

Distingue maiuscole/minuscole:

Variable = "diverso da" variable = "questa variabile"

Tipi di Dati

Tipizzazione dinamica: I tipi sono associati agli oggetti, non alle variabili.

int - Numeri Interi

Dimensione illimitata. Supporta hex (0x), ottale (0o), binario (0b)

a = 999999999999999999999999999999 b = 0xFF # 255 in hex

float - Numeri Decimali

Con punto decimale o notazione scientifica

pi = 3.14159 grande = 1e100

complex - Numeri Complessi

Parte reale e immaginaria con suffisso j

z = 3 + 2j w = complex(1, -1)

str - Stringhe

Sequenze di caratteri immutabili

nome = "Python" messaggio = 'Hello!'

list - Liste

Sequenze mutabili di oggetti

numeri = [1, 2, 3] mista = [1, "ciao", True]

bool - Booleani

True/False. Supporta Truthy/Falsy

vero = True falso = False

Operatori Matematici

+
Addizione
-
Sottrazione
*
Moltiplicazione
/
Divisione
//
Div. Intera
**
Potenza
%
Modulo
Test Operatori

Costrutti Principali

if-elif-else

Strutture condizionali:

if x > 0: print("Positivo") elif x < 0: print("Negativo") else: print("Zero")

for Loop

Iterazione su sequenze:

for i in range(5): print(i)

Funzioni

Definire funzioni riutilizzabili:

def saluta(nome): return f"Ciao, {nome}!"

Input dell'Utente

Acquisire dati da tastiera:

input("Come ti chiami? ")
Truthy/Falsy: Valori "vuoti" (0, "", [], None) sono Falsy, tutto il resto è Truthy.

Assegnamento Multiplo

Assegna più variabili contemporaneamente:

a, b, c = 1, 2, 3 # Scambio valori a, b = b, a

while Loop

Ripetizione basata su condizione:

while condizione: # blocco while else: # se non c'è break

Funzioni vs Metodi

Nei metodi il nome è preceduto dall'oggetto:

class Saluto: def hello(self): print("Ciao") sal = Saluto() sal.hello()
Test Truthy/Falsy
Testa i valori Truthy e Falsy

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.

Cosa sono le librerie? Sono collezioni di moduli predefiniti che forniscono strumenti e funzioni per eseguire compiti specifici, rendendo Python estremamente versatile.
Esempio di Libreria Math

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: