lettura facile

Le proprietà chiamabili di una classe in Python

In Python esiste anche il concetto di proprietà chiamabile di una classe che puoi ottenere tramite il decoratore `@property`.

@property

Questo permette di trattare i metodi come se fossero attributi non chiamabili.

In altre parole, puoi accedere ai risultati del metodo come se fossero attributi statici.

Ecco un esempio pratico.

class Automobile:
   def __init__(self, marca, modello):
       self._marca = marca
       self._modello = modello

   @property
   def descrizione(self):
       return f"{self._marca} {self._modello}"

In questo esempio, `descrizione` è definito come un metodo, ma grazie al decoratore `@property`, puoi accedere al metodo come se fosse un attributo non chiamabile ovvero una proprietà.

Ad esempio, crea un'istanza della classe.

auto = Automobile("Fiat", "500")

Poi accedi al metodo senza usare le parentesi, come se fosse una proprietà.

print(auto.descrizione)

Fiat 500

Questo accesso simula una proprietà `auto.descrizione` ma in realtà chiama il metodo auto.descrizione().

Quindi, oltre ai metodi e alle proprietà, Python ti offre anche questa flessibilità aggiuntiva che mescola i concetti delle due categorie di attributi in modo interessante.

 




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin