|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jun 2009
Messaggi: 5536
|
Python - @property
A cosa serve questo costrutto?
Grazie in anticipo |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Serve a definire delle proprietà, il cui accesso è regolato in maniera programmatica.
In concreto semplifica l'accesso a determinate informazioni che sono esposte dall'oggetto, e al contempo a controllare in maniera precisa in che modo ciò avvenga. Per dirla in maniera ancora diversa, in Python non hai bisogno di definire methodi getter e setter per qualunque cosa. Definisce le apposite proprietà, e il programmatore che utilizzerà il tuo oggetto le utilizzerà come se fossero delle normali variabili, ottendo codice più semplice e leggibile. Il modo migliore che hai per apprezzarle è leggerti la descrizione nel tutorial del linguaggio (che trovi nel sito di Python o nel file .chm se hai qualche versione installata), e fare qualche prova. ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jun 2009
Messaggi: 5536
|
molto gentile, qualche esempio?
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Scusami per il ritardo, ma ho avuto un sacco di cose da fare.
Comunque qui trovi tutto quello che c'è da sapere sul concetto più generale di descrittore in Python, e in particolare delle property che sono basate su di esso. In particolare le property sono spiegate qui, con tanto di esempi. Ma la cosa più interessante è che, a partire da Python 2.6, si può utilizzare la funzione built-in property come decoratore per semplificare notevolmente la definizione delle property, rendendo anche il codice molto più leggibile. Ecco qui la sezione apposita della documentazione. Come puoi vedere in particolare dall'ultimo esempio, definire una property molto facilmente adesso.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:11.