> Il giorno 2 feb 2021, alle ore 12:14, Gabriele Battaglia <iz4...@libero.it> 
> ha scritto:
> 
> Questo mi risparmia di scrivere un bel po di codice perchè la funzione che 
> agisce su d è lunga e complessa, con una marea di condizioni annidate e per 
> ciascuna avrei dovuto dire..."se succede questo allora flagga True il 
> tosave.... così per tante tante volte fino alla fine della funzione dove 
> potevo poi restituirlo con return.
> Invece l'idea del confronto di d entrante e uscente mi sembrava veloce.
> C'è qualche motivo, di carattere generale... per cui non si dovrebbe fare?
> Chiedo per imparare. :)

Potresti usare un approccio più originale. 
Ovvero creare una classe che potresti chiamare ‘DizionarioSpione’
spiadict=DizionarioSpione(miodict)
Il dizionario spione nella init definisce un self._changes =[]
Inoltre ridefinisce la __setattr_ in modo che ad ogni chiamata per cambiare il 
valore vada ad aggiungere alla lista dei cambiamenti una tupla di chiave e 
valore e poi chiami la super di __setattr__

In questo modo dopo la chiamata alka tua funzione spiadict._changes ti darà 
l’elenco di tutti i cambiamenti. 


Scritto al volo e senza testare nulla :D

Ciao

G
_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python

Rispondere a