Python super()

La funzione super() restituisce un oggetto proxy (oggetto temporaneo della superclasse) che permette di accedere ai metodi della classe base.

In Python, super() ha due casi d'uso principali:

  • ci permette di evitare di usare esplicitamente il nome della classe base.
  • lavorare con l'eredità multipla.
class Animale(object):
 def __init__(self, ani_nome):
   print (ani_nome, 'ha quattro zampe.')

class Cane(Animale):
 def __init__(self):
   print ('Ha il naso detto tartufo.')
   super().__init__('Cane')

c1 = Cane()

Output del codice

Ha il naso detto tartufo.
Cane ha quattro zampe.