05: I Metodi Statici - Programmare in Python

Video Corso Programmazione a Oggetti Python 3

05: I Metodi Statici

Ciao a tutti ragazzi e ragazze! In questa nuova breve lezione sulla Programmazione a Oggetti in Python faremo, per completezza, un accenno ai Metodi Statici.

Fin'ora nella serie abbiamo visto che ai Metodi di Classe passiamo come primo parametro la classe, tramite cls, e che ai Metodi "classici" passiamo invece l'istanza, tramite self.

I Metodi Statici sono da questo punto di vista, molto più semplici: a loro non passiamo nessuno dei due, ne cls ne self. In Pythom, i Metodi Statici sono funzioni che teniamo all'interno della classe perché hanno una qualche correlazione con il contesto che stiamo modellando, ma non vi sono legati direttamente, come accade invece nel caso della scheda personale o del costruttore alternativo.

Praticamente parlando, come vi mostreró a brevissimo, non dovremo quindi creare alcun oggetto per poterli richiamare.

Nel nostro contesto didattico possiamo creare un Metodo Statico che ci restituisce informazioni specifiche riguardo al codice che stiamo utilizzando. Per creare un Metodo Statico usiamo il decoratore corrispondente, ovvero @staticmethod.

@staticmethod
def info_prog():
    info = """
        Nome: Persona
        Creato da: PyMike
        Portale: www.programmareinpython.it
        Commenti: Scritto usando Python 3.6"""

    return info

Quindi, ora siamo in grado di accedere al metodo anche senza avere creato prima alcun oggetto:

print(Persona.info_prog)

  Nome: Classe Persona
  Creato da: PyMike
  Portale: www.programmareinpython.it
  Commenti: Scritto usando Python 3.6

Bene, in chiusura vorrei fare una dovuta precisazione e dare un commento personale riguardo ai Metodi Statici.

Ci sono due scuole di pensiero al riguardo in Python: alcuni programmatori ritengono addirittura che essi siano sostanzialmente inutili, perché i contesti in cui si possono utilizzare sono abbastanza limitati.

Il commento principale per questa scuola di pensiero è che queste funzioni potrebbero essere scritte al di fuori della Classe o richiamate tramite Modulo.

Io sono del parere che, per quanto i casi d'uso siano effettivamente limitati, talvolta i Metodi Statici possono aiutarci a mantenere il codice pulito e organizzato, si tratta quindi di uno strumento che è comunque bene conoscere, anche perché estremamente semplice da capire.

Bene ragazzi e ragazze questa era tutto per questa lezione, ci vediamo nella prossima!




Menu della Serie