14/08/2023 - Federico2839 ha scritto:
Volevo capire come nel caso di @property ritornare un valore modificato in base ad un altro valore passato nella funzione (value).
Le funzioni che hai relative alla property sono due: un getter e un setter, ossia una funzione che restituisce un valore, un'altra che lo imposta.
Se hai una funzione che deve acquisire un valore per restituirlo modificato, a meno che questo non possa essere letto dalla proprietà stessa, non puoi restituirlo dal setter.
14/08/2023 - Federico2839 ha scritto:
property è fantastica perchè mi permette di richiamare valori infischiandome di come li ho ottenuti E della firma del metodo
Le proprietà generamente sono identificatori che sembrano in tutto e per tutto semplici campi dell'oggetto, ossia variabili che appartengono all'istanza e ne definiscono lo stato, con la differenza che il loro valore non viene letto/scritto direttamente dal/nel campo, ma tramite l'intercessione dei due metodi sopra menzionati, che hanno rispettivamente il compito di restituire il valore e di impostarlo.
Il vantaggio è che sembra di leggere o impostare quello che è un semplice campo, usando una normalissima sintassi di assegnazione, ma eventuali valori in uscita possono essere calcolati, da un lato, oppure validati e trasformati in ingresso.
E' anche possibile eliminare il setter per realizzare una proprietà di sola lettura.