Classi Python

Capitolo 17 – Classi Python

In questo capitolo studiamo le classi Python, base della programmazione a oggetti e strumento fondamentale per modellare dati e comportamenti.

Materiale originale a cura di Alfredo Di Fiore – megistone.it

Manuale completo:
vai all’indice del corso


Le classi permettono di creare strutture dati complesse che combinano attributi e metodi, rendendo il software più modulare e vicino ai problemi reali.

17.1 Obiettivi formativi

  • comprendere il concetto di classe e oggetto;
  • definire attributi e metodi;
  • usare il costruttore __init__;
  • creare istanze di oggetti;
  • introdurre la programmazione OOP.

17.2 Che cosa sono le classi Python

Una classe è un modello che descrive caratteristiche (attributi) e azioni (metodi) degli oggetti.

class Studente:
    pass

Questa è la definizione minima di una classe.


17.3 Creazione di oggetti

Un oggetto è un’istanza concreta di una classe.

class Studente:
    pass

s1 = Studente()

Qui s1 è un oggetto creato dalla classe Studente.


17.4 Costruttore __init__ nelle classi

Il metodo speciale __init__ inizializza gli attributi dell’oggetto.

class Studente:
    def __init__(self, nome, eta):
        self.nome = nome
        self.eta = eta
💡 Applicazione pratica

Le classi sono fondamentali per rappresentare studenti, clienti, prodotti, robot e qualsiasi entità del mondo reale.


17.5 Metodi nelle classi Python

I metodi definiscono i comportamenti degli oggetti.

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

    def saluta(self):
        print("Ciao, sono", self.nome)

17.6 Uso degli oggetti

s = Studente("Alfredo")
s.saluta()

Output:

Ciao, sono Alfredo
⚠️ Errore comune

Molti studenti dimenticano il parametro self nella definizione dei metodi.


17.7 Riepilogo sulle classi

  • una classe è un modello astratto;
  • gli oggetti sono istanze concrete;
  • __init__ inizializza gli attributi;
  • i metodi definiscono i comportamenti;
  • la OOP migliora modularità e riuso.

17.8 Domande tipiche d’esame

  1. Che differenza c’è tra classe e oggetto?
  2. A cosa serve __init__?
  3. Perché si usa self?
  4. Che cosa sono i metodi?

17.9 Esercizi

  1. Crea una classe Auto con marca e modello.
  2. Definisci una classe Robot con metodo muovi().
  3. Crea una classe Studente con nome e voto.

Approfondimento ufficiale:

documentazione Python sulle classi


Le classi Python sono alla base dello sviluppo di software moderno, applicazioni desktop, videogiochi, robotica e intelligenza artificiale, perché permettono di modellare oggetti reali in modo naturale.

Articoli simili