Python HOME
Guida completa per principianti su Python: cos'è, perché è importante, come installarlo e i tuoi primi programmi con esempi chiari.
Python è un linguaggio di programmazione di alto livello e di uso generale, rinomato per la sua sintassi leggibile e la sua ampia applicabilità — dai server web e le pipeline di dati ai modelli di machine learning e agli script di automazione. Questo tutorial copre tutto il necessario per passare da zero alla scrittura di veri programmi Python.
Cos'è Python?
Python è stato creato da Guido van Rossum e rilasciato per la prima volta nel 1991. È:
- Interpretato — il codice viene eseguito riga per riga; non è necessario un passaggio di compilazione separato.
- Tipizzato dinamicamente — i tipi delle variabili vengono dedotti a runtime, non dichiarati in anticipo.
- Multi-paradigma — supporta gli stili procedurale, orientato agli oggetti e funzionale.
- Cross-platform — lo stesso script funziona su Windows, macOS e Linux senza modifiche.
Python si classifica costantemente come uno dei linguaggi di programmazione più usati nei sondaggi annuali sugli sviluppatori, in parte perché la sua sintassi ricorda l'inglese comune, rendendo i programmi più facili da leggere e mantenere rispetto a molti altri linguaggi.
Perché imparare Python?
Python è un buon primo linguaggio perché il divario tra "quello che pensi" e "quello che scrivi" è ridotto. Considera la stampa di un messaggio:
print("Hello, World!")Questo è l'intero programma — nessun import, nessun boilerplate di classe, nessun punto e virgola.
Oltre alla semplicità, Python è genuinamente utilizzato in produzione:
| Dominio | Librerie comuni |
|---|---|
| Sviluppo web | Django, Flask, FastAPI |
| Analisi dei dati | Pandas, NumPy |
| Machine learning | scikit-learn, TensorFlow, PyTorch |
| Automazione / scripting | standard library (os, pathlib, subprocess) |
| Calcolo scientifico | SciPy, Matplotlib |
Imparare Python apre le porte a tutte queste aree con un unico linguaggio.
Installare Python
Python è disponibile su python.org. Scarica il programma di installazione per il tuo sistema operativo e segui le istruzioni. Abilita l'opzione "Add Python to PATH" su Windows in modo da poter eseguire Python da qualsiasi terminale.
Verifica l'installazione:
python3 --version
# Python 3.12.x (version number will vary)Su Windows il comando potrebbe essere python invece di python3.
Il tuo primo programma Python
Apri qualsiasi editor di testo semplice (o un IDE come VS Code), crea un file chiamato hello.py e aggiungi:
print("Hello, World!")Eseguilo dal tuo terminale:
python3 hello.py
# Hello, World!La Shell Interattiva (REPL)
Python include anche una shell interattiva — la REPL (Read-Eval-Print Loop). Digita python3 nel tuo terminale e ottieni un prompt (>>>) dove puoi eseguire codice immediatamente:
>>> 2 + 2
4
>>> name = "Alice"
>>> print(f"Hello, {name}!")
Hello, Alice!La REPL è utile per esperimenti rapidi; gli script (file .py) sono più adatti per tutto ciò che vuoi salvare o ripetere.
Basi della sintassi Python
Python utilizza l'indentazione (spazi o tabulazioni, in modo coerente) per definire i blocchi di codice invece delle parentesi graffe {}. Questa è una delle sue caratteristiche più distintive.
age = 20
if age >= 18:
print("Adult") # indented → inside the if block
else:
print("Minor") # indented → inside the else block
print("Done") # not indented → outside the if/elseUn'indentazione errata genera un IndentationError, quindi gli editor che mostrano gli spazi bianchi sono utili quando si comincia.
Vedi Python Syntax per un riferimento completo.
Variabili e tipi di dati
Una variabile è un nome che contiene un valore. In Python se ne crea una assegnandole un valore — non è necessaria alcuna parola chiave di dichiarazione:
x = 10 # integer
pi = 3.14159 # float
greeting = "Hi" # string
active = True # boolean
nothing = None # absence of a valueI tipi built-in principali di Python includono:
| Tipo | Esempio | Descrizione |
|---|---|---|
int | 42 | Numeri interi |
float | 3.14 | Numeri decimali |
str | "hello" | Testo |
bool | True / False | Logica |
list | [1, 2, 3] | Sequenza ordinata e modificabile |
tuple | (1, 2, 3) | Sequenza ordinata e immutabile |
dict | {"a": 1} | Coppie chiave-valore |
set | {1, 2, 3} | Valori unici non ordinati |
Puoi verificare il tipo di un valore con type():
print(type(42)) # <class 'int'>
print(type("hello")) # <class 'str'>
print(type([1, 2])) # <class 'list'>Vedi Data Types e Variables per i dettagli.
Controllo del flusso
if / elif / else
score = 75
if score >= 90:
grade = "A"
elif score >= 75:
grade = "B"
elif score >= 60:
grade = "C"
else:
grade = "F"
print(grade) # BCicli for
for itera su qualsiasi sequenza — una lista, una stringa, un range o qualsiasi iterabile:
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
# apple
# banana
# cherry
for i in range(3): # range(3) produces 0, 1, 2
print(i)
# 0
# 1
# 2Cicli while
count = 0
while count < 3:
print(count)
count += 1
# 0
# 1
# 2Vedi if / else e for loops per la copertura completa.
Funzioni
Una funzione raggruppa la logica riutilizzabile sotto un nome. Definiscila con def, chiamala per nome:
def add(a, b):
return a + b
result = add(3, 5)
print(result) # 8Le funzioni possono avere valori di parametro predefiniti in modo che i chiamanti possano omettere gli argomenti facoltativi:
def greet(name, greeting="Hello"):
return f"{greeting}, {name}!"
print(greet("Alice")) # Hello, Alice!
print(greet("Bob", "Hi")) # Hi, Bob!Vedi Python Functions per parametri, valori di ritorno e scope.
Lavorare con le stringhe
Le stringhe supportano un ricco insieme di operazioni:
s = "python programming"
print(s.upper()) # PYTHON PROGRAMMING
print(s.title()) # Python Programming
print(s.replace("python", "great")) # great programming
print(len(s)) # 18
print(s[0:6]) # python (slicing)Le f-string (stringhe formattate letterali, Python 3.6+) sono il modo moderno per incorporare espressioni nel testo:
language = "Python"
version = 3.12
print(f"Learning {language} {version}") # Learning Python 3.12Vedi Python Strings e Format Strings per ulteriori informazioni.
Liste — la collezione tuttofare
Una lista contiene una sequenza ordinata e modificabile di elementi:
colors = ["red", "green", "blue"]
colors.append("yellow") # add to end
print(colors) # ['red', 'green', 'blue', 'yellow']
colors.remove("green")
print(colors) # ['red', 'blue', 'yellow']
print(colors[1]) # blue (zero-indexed)
print(len(colors)) # 3Vedi Python Lists per slicing, ordinamento e list comprehension.
Moduli e la libreria standard
Un modulo è un file Python che si importa per riutilizzarne il codice. Python include una vasta libreria standard — moduli per matematica, I/O di file, date, rete e molto altro — così molti compiti non richiedono alcun pacchetto di terze parti.
import math
import random
print(math.sqrt(16)) # 4.0
print(math.pi) # 3.141592653589793
print(random.randint(1, 6)) # random integer between 1 and 6Installa pacchetti di terze parti con pip:
pip install requestsPoi importali nello stesso modo:
import requests
response = requests.get("https://httpbin.org/get")
print(response.status_code) # 200Gestione degli errori
Python segnala i problemi sollevando eccezioni. Usa try / except per gestirle in modo elegante invece di andare in crash:
try:
number = int("abc") # this raises ValueError
except ValueError:
print("That is not a valid number.")
# That is not a valid number.Un except generico cattura tutto — evitalo. Specifica sempre il tipo di eccezione preciso in modo che gli errori imprevisti emergano comunque.
Vedi Python try / except per else, finally e le eccezioni personalizzate.
Passi successivi
Questa pagina ha introdotto i fondamentali. Il resto di questo tutorial approfondisce ogni argomento:
- Getting Started — procedura di installazione e configurazione dell'IDE
- Python Syntax — regole di indentazione, commenti, istruzioni
- Variables — denominazione, scope, costanti
- Data Types — tutti i tipi built-in con esempi
- Python Strings — slicing, metodi, formattazione
- Python Lists — indicizzazione, modifica, comprehension
- Python Dictionaries — ricerca di chiavi, iterazione, annidamento
- if / else — istruzioni condizionali
- for Loops — iterazione sulle sequenze
- Python Functions — definizioni, scope, closure