libri-javascript-python

In questa lezione svilupperemo alcuni esempi di classi in Python, al fine di consolidare quanto appreso nelle lezioni precedenti.

Classi in Python – primo esempio

Sviluppiamo dunque un primo esempio nel quale definiamo una classe Student:



class Student:
    def __init__(self, name, lastname, age):
        self.name = name
        self.lastname = lastname
        self.age = age

Salviamo questa classe nel file ‘Student.py‘ e poi in un altro file Python lo importiamo utilizzando from ed import.

Definiamo un’istanza di Student e poi la stampiamo:



from Student import *

student1 = Student("Nick", "Rossi", 23)

print("Name =", student1.name, "\nLastname =", student1.lastname, "\nAge =", student1.age)

In output avremo quindi:

Name = Nick
Lastname = Rossi
Age = 23

Stiamo associando alla variabile student1 un’istanza dell’oggetto Student.

Cosa succede se ad esempio omettiamo un qualsiasi parametro?

Facciamo dunque un esempio dove omettiamo di inserire l’età:



from Student import *

student1 = Student("Nick", "Rossi")

print("Name =", student1.name, "\nLastname =", student1.lastname)

In questo caso il codice restituirà un errore:

...
TypeError: Student.init() missing 1 required positional argument: ‘age’

Questo perchè tutti i parametri sono obbligatori.

Come fare allora per rendere un parametro opzionale? Lo studieremo nel prossimo paragrafo.

Classi in Python – rendere un parametro opzionale

Per rendere un parametro opzionale, possiamo ad esempio assegnare un valore di default come ad esempio 0.



class Student:
    def __init__(self, name, lastname, age = 0):
        self.name = name
        self.lastname = lastname
        self.age = age

In questo modo quando definirò l’istanza student1 non si avrà più l’errore di prima:



from Student import *

student1 = Student("Nick", "Rossi")

print("Name =", student1.name, "\nLastname =", student1.lastname)

L’output sarà quindi:

Name = Nick
Lastname = Rossi

Possiamo sempre assegnare un valore ad age, in modo da sovrascrivere il valore di default:



from Student import *

student1 = Student("Nick", "Rossi", 22)

print("Name =", student1.name, "\nLastname =", student1.lastname, "\nAge =", student1.age)

Possiamo assegnare i valori di default ad uno o più parametri.

Facciamo dunque un altro esempio:



class Student:
    def __init__(self, name = "Nick", lastname = "Rossi", age = 0):
        self.name = name
        self.lastname = lastname
        self.age = age

Definiamo un’istanza senza passare alcun valore ma lasciando i valori di default:



student1 = Student()

print("Name =", student1.name, "\nLastname =", student1.lastname, "\nAge =", student1.age,)

Conclusioni

In questa lezione abbiamo studiato alcuni esempi di classi in Python, nelle prossime lezioni vedremo come utilizzare i metodi delle classi.

Alcuni link utili

Indice tutorial sul linguaggio Python

Operazioni con i file in Python

Introduzione ai dizionari in Python

Funzione lambda in Python

Utilizzare Plot di Matplotlib

Quali sono i metodi delle liste

Memorizzare dati di input in un file di testo

Che cos’è il machine learning

Machine Learning in Python