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
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
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
- Che differenza c’è tra classe e oggetto?
- A cosa serve
__init__? - Perché si usa
self? - Che cosa sono i metodi?
17.9 Esercizi
- Crea una classe
Autocon marca e modello. - Definisci una classe
Robotcon metodomuovi(). - Crea una classe
Studentecon 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.