W3docs

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:

DominioLibrerie comuni
Sviluppo webDjango, Flask, FastAPI
Analisi dei datiPandas, NumPy
Machine learningscikit-learn, TensorFlow, PyTorch
Automazione / scriptingstandard library (os, pathlib, subprocess)
Calcolo scientificoSciPy, 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/else

Un'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 value

I tipi built-in principali di Python includono:

TipoEsempioDescrizione
int42Numeri interi
float3.14Numeri decimali
str"hello"Testo
boolTrue / FalseLogica
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)  # B

Cicli 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
# 2

Cicli while

count = 0
while count < 3:
    print(count)
    count += 1
# 0
# 1
# 2

Vedi 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)  # 8

Le 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.12

Vedi 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))        # 3

Vedi 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 6

Installa pacchetti di terze parti con pip:

pip install requests

Poi importali nello stesso modo:

import requests

response = requests.get("https://httpbin.org/get")
print(response.status_code)  # 200

Gestione 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:

Esercitazione

Pratica
Which of the following are characteristics of Python?
Which of the following are characteristics of Python?
Was this page helpful?