guide

Guida Completa alla Programmazione Python per Principianti

Introduzione

Python è uno dei linguaggi di programmazione più diffusi al mondo, noto per la sua semplicità e versatilità. Si presta bene sia ai principianti che agli esperti, ed è usato in ambiti come lo sviluppo web, l’analisi dei dati, la scienza, la robotica e l’intelligenza artificiale. In questa guida scoprirai come installare Python, scrivere i tuoi primi programmi e comprenderne i concetti fondamentali.


1. Installazione e Ambiente di Sviluppo

Perché serve installare Python?

Prima di poter scrivere ed eseguire programmi Python, bisogna installare l’interprete Python sul proprio computer. L’interprete traduce il codice che scrivi in istruzioni che il computer può capire.

Windows

  1. Vai su python.org e scarica l’ultima versione stabile.
  2. Durante l’installazione, spunta la casella “Add Python to PATH”: così potrai eseguire Python da qualsiasi cartella nel terminale.
  3. Per verificare l’installazione, apri il Prompt dei comandi e digita:
    python --version
    

    Dovresti vedere la versione installata.

MacOS

Se hai Homebrew (gestore di pacchetti), puoi installare Python con:

brew install python

In alternativa, scarica il pacchetto dal sito ufficiale.

Linux (Debian/Ubuntu)

Sui sistemi Linux, puoi usare il terminale:

sudo apt update
sudo apt install python3 python3-pip

Con pip puoi installare librerie aggiuntive.

Scegliere l’editor giusto

Un editor è il programma dove scrivi il codice. I più consigliati per Python sono:


2. Primo Programma

Cosa significa “Hello World”?

Il primo programma che si scrive in ogni linguaggio è solitamente quello che stampa “Ciao, mondo!” a schermo. Serve a testare che tutto funzioni.

Crea un file chiamato primo_programma.py e inserisci:

print("Ciao, mondo!")

Salva il file e, tramite terminale, esegui:

python primo_programma.py

Se appare la frase, Python è installato e funzionante.


3. Fondamenti della Sintassi Python

Cosa sono le variabili?

Le variabili sono “contenitori” che servono per memorizzare dati. In Python non serve dichiarare il tipo di variabile: il linguaggio lo capisce da solo.

nome = "Alice"    # stringa
eta = 25          # intero
altezza = 1.68    # decimale (float)
is_attivo = True  # booleano

Come si scrivono i commenti?

I commenti servono a spiegare il codice e non vengono eseguiti.

# Questo è un commento su una riga

"""
Questo è un commento
su più righe
"""

Come si prende un input dall’utente?

L’input serve per far inserire dati all’utente tramite tastiera.

nome = input("Come ti chiami? ")
print("Ciao, " + nome)

La funzione input() riceve sempre una stringa.


4. Operatori

A cosa servono gli operatori?

Gli operatori permettono di eseguire calcoli, confronti e logiche sui dati.

Operatori matematici

somma = 5 + 3
differenza = 5 - 3
prodotto = 5 * 3
divisione = 5 / 3
modulo = 5 % 3    # resto della divisione
potenza = 2 ** 3  # 2 elevato alla 3

Operatori logici

a = True
b = False
print(a and b)  # AND logico: False
print(a or b)   # OR logico: True
print(not a)    # Negazione: False

Operatori di confronto

x = 10
print(x == 10)  # uguale
print(x != 5)   # diverso
print(x > 5)    # maggiore
print(x <= 10)  # minore o uguale

5. Strutture di Controllo

Perché servono le strutture di controllo?

Servono per decidere cosa deve fare il programma in base a certe condizioni o per ripetere delle azioni.

Condizioni (if, elif, else)

eta = int(input("Quanti anni hai? "))
if eta >= 18:
    print("Sei maggiorenne")
elif eta >= 14:
    print("Sei un adolescente")
else:
    print("Sei minorenne")

if controlla una condizione, elif (else if) altre alternative, else tutto il resto.

Cicli (for, while)

Il ciclo for serve per ripetere una serie di istruzioni un certo numero di volte.

for i in range(5):  # Da 0 a 4
    print(i)

Il ciclo while ripete le istruzioni finché la condizione è vera.

n = 0
while n < 5:
    print(n)
    n += 1

Break e Continue

break interrompe il ciclo, continue salta alla prossima iterazione.

for i in range(10):
    if i == 5:
        break  # Termina il ciclo
    if i % 2 == 0:
        continue  # Salta i numeri pari
    print(i)

6. Strutture Dati Fondamentali

Cosa sono le strutture dati?

Le strutture dati sono modi diversi di organizzare le informazioni nel programma.

Liste

Le liste sono raccolte ordinate e modificabili di elementi.

frutti = ["mela", "banana", "fragola"]
print(frutti[0])      # mela
frutti.append("kiwi") # aggiunge un elemento
print(len(frutti))    # 4

Tuple

Le tuple sono raccolte ordinate, ma immutabili (non si possono modificare).

coordinate = (10, 20)
x, y = coordinate

Set

I set sono raccolte non ordinate e senza duplicati.

numeri = {1, 2, 3, 2, 1}  # Valori duplicati vengono ignorati
numeri.add(4)

Dizionari

I dizionari sono raccolte di coppie chiave-valore.

studente = {"nome": "Alice", "eta": 25}
print(studente["nome"])
studente["corso"] = "Python"

7. Funzioni

Che cosa sono le funzioni?

Le funzioni servono per riutilizzare un blocco di codice e organizzare meglio il programma.

def saluta(nome):
    print("Ciao, " + nome)

def somma(a, b):
    return a + b

saluta("Alice")
print(somma(2, 3))

Argomenti di default e keyword arguments

Si possono impostare valori di default e specificare gli argomenti per nome.

def saluta(nome, messaggio="Buongiorno"):
    print(messaggio, nome)

saluta("Bob")
saluta("Anna", messaggio="Ciao")

8. Gestione degli Errori (Exception)

Perché gestire gli errori?

Gli errori (eccezioni) sono eventi imprevisti che possono mandare in crash il programma. Imparare a gestirli è fondamentale per scrivere codice robusto.

try:
    numero = int(input("Inserisci un numero: "))
    risultato = 10 / numero
except ValueError:
    print("Non hai inserito un numero valido.")
except ZeroDivisionError:
    print("Non puoi dividere per zero.")
finally:
    print("Operazione conclusa.")

9. Moduli e Pacchetti

Cosa sono i moduli?

Un modulo è semplicemente un file Python che contiene funzioni, classi o variabili che puoi riutilizzare.

import math
print(math.sqrt(25))

Come usare le librerie esterne?

Con pip puoi installare librerie realizzate da altri sviluppatori.

pip install requests

E poi usarle nel codice:

import requests
response = requests.get("https://www.python.org")
print(response.status_code)

10. Introduzione alla Programmazione Orientata agli Oggetti (OOP)

Cos’è la OOP?

La programmazione orientata agli oggetti permette di modellare il programma usando “oggetti”, ciascuno con attributi e comportamenti.

class Cane:
    def __init__(self, nome):
        self.nome = nome

    def abbaia(self):
        print(self.nome + " dice: Bau!")

fido = Cane("Fido")
fido.abbaia()

11. Gestione di File

Come leggere e scrivere file?

Spesso serve salvare dati su file o leggerli da essi.

# Scrivere su file
with open("testo.txt", "w") as f:
    f.write("Ciao, file!")

# Leggere da file
with open("testo.txt", "r") as f:
    contenuto = f.read()
    print(contenuto)

Con la parola chiave with il file viene chiuso automaticamente alla fine.


12. Esercizi Pratici

Perché fare esercizi?

La pratica è fondamentale per imparare a programmare! Prova a risolvere questi esercizi:

  1. Crea un programma che chiede il nome e l’età, poi stampa un messaggio personalizzato.
  2. Scrivi una funzione che verifica se un numero è pari o dispari.
  3. Crea una lista di numeri e stampa solo quelli maggiori di 5.
  4. Implementa un dizionario che tiene traccia dei voti di studenti e stampa la media.
  5. Scrivi una classe Libro con attributi titolo e autore, e un metodo che stampa una descrizione.

13. Risorse Utili

Dove trovare aiuto e approfondimenti?


14. Consigli Pratici

Come imparare meglio?

python -m venv mioambiente
source mioambiente/bin/activate  # Linux/Mac
mioambiente\Scripts\activate     # Windows

Conclusione

Python è uno strumento potente e versatile che ti permette di imparare la programmazione e risolvere tanti tipi di problemi. Sperimenta, sbaglia, cerca soluzioni online e, soprattutto, divertiti!

Buon viaggio nel mondo di Python 🚀