Class Python

Per definire una classe in Python utilizziamo la dichiarazione class seguita dal nome univoco della classe. All’interno di questa classe specifichiamo poi gli attributi ed i suoi metodi.

Tutte le classi hanno una funzione chiamata __init__(), che viene eseguita quando la classe viene avviata per creare un nuovo oggetto. Questa funzione identifica il costruttore, cioè rappresenta l’inizializzazione delle impostazioni dell’oggetto.

Il costruttore è dichiarato come qualsiasi altro metodo.

La sintassi per definire una classe è dunque questa:



class NomeClasse():
    #inizializzazione degli attributi
    def __init__(self, parametri):
        #attributi
    def nome_metodo(self, parametri):
        #azioni del metodo

Secondo le regole di programmazione, in tutti i linguaggi, il nome della classe si scrive sempre in maiuscolo, se è un nome composto si utilizza il PascalCase.

I nomi dei metodi sono in minuscolo e se sono costituiti da nomi composti si utilizza lo snake_case ovvero il carattere undescore (_) per separare le parole.

Il parametro self è un riferimento all’istanza corrente della classe ed è utilizzato per accedere alle variabili che appartengono alla classe. In definitiva self identifica la classe stessa e consente di utilizzare gli attributi all’interno dei metodi

Class Python – esempi

Facciamo un primo esempio per comprendere meglio l’utilizzo delle classi. Creiamo una semplice classe rettangolo avente come attributi la base e l’altezza ed il metodo area.



class Rect():
    #inizializzazione degli attributi
    def __init__(self, base, altezza):
        self.base = base
        self.altezza = altezza

    def area(self):
        return self.base * self.altezza

Creiamo poi un’istanza di questa classe:



#rect1 è un'istanza di Rect
rect1 = Rect(4,5)
#stampiamo la base
print("Base =", rect1.base)

#cambiamo la base
rect1.base = 10
print("Nuova Base =", rect1.base)

#stampiamo l'altezza
print("Altezza =", rect1.altezza)

#stampiamo l'area
print("Area =", rect1.area())

Class Python – salvataggio

Di solito le classi venfono salvate in file separati, come i moduli in Python, per poi essere richiamati con questo metodo:



from NomeClasse import *

Nel caso della nostra classe Rect la salviamo in un file di nome ‘Rect.py’ e poi la richiamo in questo modo:



from Rect import *

rect1 = Rect(4,5)

Stiamo attenti ad utilizzare le iniziali maiuscole.

Conclusioni

In questa lezione abbiamo spiegato il concetto di classe in Python e abbiamo visto come crearla attraverso la dichiarazione class.

Alcuni link utili

Indice tutorial sul linguaggio Python

Operazioni con i file in Python

Introduzione ai dizionari in Python

Creare matrici in Python

Funzione lambda in Python

Utilizzare Plot di Matplotlib

Quali sono i metodi delle liste

Continua la lettura su: https://www.codingcreativo.it/class-python/ Autore del post: Coding Creativo Fonte: https://www.codingcreativo.it

Articoli Correlati

Calcolatrice in Python

In questa lezione svilupperemo una calcolatrice in Python utilizzando le classi. La nostra calcolatrice dovrà semplicemente prendere in input due numeri richiesti ed elaborarli attraverso le operazioni aritmetiche.Calcolatrice in Python – implementazioneInnanzitutto creeremo una classe Calculator dove utilizzeremo il costruttore init con i due parametri a e b oltre al parametro self.Poi definiamo dei metodi per le 4 operazioni aritmetiche. Stiamo attenti alla divisione in quanto non si può dividere un numero per 0.Ecco dunque una possibile implementazione:
class Calculator:
def __init__(self, a, b):
self.a = a
self.b = b

def add(self):
return self.a + self.b

def sub(self):
return self.a – self.b

def mol(self):
return self.a * self.b

def div(self):
if self.b == 0:
print(“Non puoi dividere per zero”)
return None

return self.a / self.b

Salviamo il file con nome ‘Calculator.py’ per poterlo così importare ogni qualvolta ci serve.Dopo definiamo un’istanza passando i valori a e b e richiamiamo alcuni metodi.Ecco il codice di esempio:

from Calculator import *

calc = Calculator(10,5)

divisione = calc.div()
print(divisione)

addizione = calc.add()
print(addizione)

Facciamo una piccola variazione alla calcolatrice in Python appena creata. Piuttosto che passare gli attributi all’istanza, li chiederemo in input.Inoltre potremmo anche chiedere all’utente di scegliere un’operatore aritmetico.Modifichiamo allora la classe precedente inserendo i valori di default ad a e b.Ecco una possibile implementazione:

class Calculator:
def __init__(self):
self.a = 0.0
self.b = 0.0

def add(self):
return self.a + self.b

def sub(self):
return self.a – self.b

def mol(self):
return self.a * self.b

def div(self):
if self.b == 0:
print(“Non puoi dividere per zero”)
return None

return self.a / self.b

Dopo chiediamo all’utente di inserire i numeri che possono essere anche con la virgola.Poi chiediamo di inserire l’operatore per poi eseguire correttamente l’operazione.Infine stampiamo il risultato:

from Calculator import *

calc = Calculator()
calc.a = float(input(‘Inserisci il primo numero: ‘))
calc.b = float(input(‘Inserisci il secondo numero: ‘))

op = input(“””
Scegliere un’operazione:
+ , – , * , /
“””)

if op == ‘+’:
risultato = calc.add()
elif op == ‘-‘:
risultato = calc.sub()
elif op == ‘*’:
risultato = calc.mol()
elif op == ‘/’:
risultato = calc.div()
else:
risultato = “Il carattere inserito non è valido”

print(risultato)

ConclusioneIn questa lezione abbiamo realizzato una semplice calcolatrice in Python utilizzando le classi, nelle prossime lezioni studieremo tanti altri esempi sulle classi in Python.Alcuni link utiliIndice tutorial sul linguaggio PythonOperazioni con i file in PythonIntroduzione ai dizionari in PythonFunzione lambda in PythonUtilizzare Plot di MatplotlibQuali sono i metodi delle listeMemorizzare dati di input in un file di testoChe cos’è il machine learningMachine Learning in Python

Vuoi rimanere aggiornato sulle nuove tecnologie per la Didattica e ricevere suggerimenti per attività da fare in classe?

Sei un docente?

soloscuola.it la prima piattaforma
No Profit gestita dai

Volontari Per la Didattica
per il mondo della Scuola. 

 

Tutti i servizi sono gratuiti. 

Associazione di Volontariato Koinokalo Aps

Ente del Terzo Settore iscritta dal 2014
Tutte le attività sono finanziate con il 5X1000